TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Quản lý nhân sự là một công việc phức tạp, đòi hỏi nhiều thời gian và công sức Do đó, việc ứng dụng công nghệ thông tin trong quản lý nhân sự trở thành một yêu cầu thiết yếu.
- Đề tài là một yêu cầu thiết thực trong quản lý nhân sự của các hầu hết tất cả các công ty đang hoạt động hiện nay
Đối với các công ty có đông nhân viên, việc quản lý bằng phương pháp thủ công trở nên không hiệu quả, tiêu tốn nhiều nguồn lực, thời gian và công sức.
Dựa trên những lợi ích thiết thực và sự hỗ trợ tận tình từ ThS Vũ Chí Cường, tôi quyết định chọn đề tài thiết kế và xây dựng phần mềm quản lý nhân sự dành cho doanh nghiệp vừa và nhỏ.
Với đề tài này, tôi dự định áp dụng kiến thức đã học tại trường để nghiên cứu ngôn ngữ lập trình C# và môi trường lập trình, nhằm xây dựng một hệ thống quản lý nhân sự hiệu quả.
Mục đích của đề tài
Xây dựng hệ thống quản lý nhân sự với các chức năng như quản lý thông tin nhân viên, phòng ban và chức vụ sẽ giúp đơn giản hóa và nâng cao hiệu quả trong việc quản lý nhân sự tại công ty.
- Xây dựng hệ thống mới đáp ứng đƣợc việc quản lý nhân sự của công ty
- Đảm bảo đƣợc tính chính xác những thông tin cần thiết của mỗi nhân viên
- Bổ sung đƣợc nhiều thông tin phục vụ cho công tác quản lý tra cứu về số liệu của nhân viên.
Nội dung nghiên cứu
Chức năng này cho phép cập nhật thông tin nhân viên, bao gồm tên, ngày tháng năm sinh, giới tính, quê quán, trình độ học vấn, ngày vào công ty và chức vụ.
Quá trình quản lý nhân sự bao gồm: Cập nhật thông tin nhân viên, sửa hồ sơ nhân viên, thêm mới nhân viên và tìm kiếm nhân viên
Quá trình cập nhật thông tin nhân viên chỉ dành cho người quản lý Khi có nhân viên mới, Phòng nhân sự sẽ tạo Hồ sơ nhân viên, cập nhật thông tin và lưu trữ vào cơ sở dữ liệu.
Quá trình tìm kiếm thông tin nhân viên cho phép người dùng truy cập và xuất dữ liệu dưới dạng Excel Tất cả nhân viên trong công ty đều có quyền tìm kiếm thông tin, bằng cách chọn các thuộc tính và nhập điều kiện tìm kiếm Hệ thống sẽ sử dụng những thông tin này để truy vấn cơ sở dữ liệu và cung cấp kết quả tìm kiếm chính xác.
Chức năng này dùng để cập nhập thông tin về phòng ban nhƣ mã phòng, tên phòng,
Quá trình quản lý phòng ban gồm: Cập nhật thông tin phòng ban
Quá trình cập nhật thông tin phòng ban chỉ dành cho người quản lý, bao gồm việc tạo mới, sửa đổi hoặc xóa thông tin phòng ban trong công ty Khi một phòng ban mới được thành lập, Phòng tổ chức sẽ cập nhật thông tin và lưu trữ vào cơ sở dữ liệu của hệ thống.
Chức năng này dùng để cập nhập thông tin về chức vụ nhƣ mã chức vụ, tên chức vụ,
Quá trình quản lý chức vụ gồm: Cập nhật thông tin chức vụ
Quá trình cập nhật thông tin chức vụ chỉ dành cho người quản lý Khi phòng ban bổ nhiệm một chức vụ mới, họ sẽ tạo mới, cập nhật thông tin và lưu trữ chức vụ vào cơ sở dữ liệu của hệ thống Ngoài ra, người quản lý cũng có quyền sửa hoặc xóa chức vụ khi cần thiết.
CƠ SỞ LÝ THUYẾT
Môi trường lập trình Error! Bookmark not defined 2.2 Ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình hiện đại, hướng đối tượng, được phát triển bởi Anders Hejlsberg, người có nhiều đóng góp cho Pascal, Delphi và Java Ngôn ngữ này dễ học và kế thừa nhiều ưu điểm từ Java, C++ và các ngôn ngữ khác, mặc dù thuộc họ ngôn ngữ C.
Ngôn ngữ C# là một ngôn ngữ lập trình đơn giản với khoảng 80 từ khóa và nhiều kiểu dữ liệu được xây dựng sẵn Nó thực thi các khái niệm lập trình hiện đại, hỗ trợ cấu trúc, thành phần và lập trình hướng đối tượng C# hội tụ đầy đủ những đặc điểm của một ngôn ngữ lập trình hiện đại và được xây dựng dựa trên nền tảng của hai ngôn ngữ mạnh mẽ là C++ và Java.
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, dẫn đầu bởi Anders Hejlsberg và Scott Wiltamuth Anders Hejlsberg nổi tiếng với vai trò là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến, và ông cũng là người đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên trong việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server.
Cốt lõi của ngôn ngữ lập trình hướng đối tượng là khả năng định nghĩa và làm việc với các lớp, cho phép phát triển kiểu dữ liệu mới Ngôn ngữ C# cung cấp từ khóa để khai báo lớp, phương thức và thuộc tính, đồng thời hỗ trợ thực thi các nguyên tắc như đóng gói, kế thừa và đa hình, những đặc điểm cơ bản của lập trình hướng đối tượng.
Trong ngôn ngữ C#, mọi khai báo liên quan đến lớp đều nằm trong phần định nghĩa của nó, không cần phân chia thành tập tin header và tập tin nguồn như C++ Ngoài ra, C# hỗ trợ kiểu XML, cho phép chèn các trang XML để tự động tạo ra tài liệu cho lớp.
C# hỗ trợ giao diện (interface), được coi là cam kết của một lớp đối với các dịch vụ mà giao diện quy định Trong C#, một lớp chỉ có thể kế thừa từ một lớp cha duy nhất, không cho phép đa kế thừa như trong C++ Tuy nhiên, một lớp có thể thực thi nhiều giao diện, và khi thực thi một giao diện, lớp đó cam kết cung cấp các chức năng theo yêu cầu của giao diện.
Trong ngôn ngữ C#, cấu trúc được hỗ trợ nhưng có ngữ nghĩa khác so với C++ Cấu trúc trong C# là kiểu dữ liệu nhỏ gọn, yêu cầu ít tài nguyên hệ điều hành và bộ nhớ hơn so với lớp Mặc dù không thể kế thừa từ lớp, cấu trúc có khả năng thực thi giao diện.
Ngôn ngữ C# hỗ trợ lập trình hướng thành phần thông qua các thuộc tính và sự kiện, với sự hỗ trợ của CLR cho phép lưu trữ metadata cùng với mã nguồn của lớp Metadata này mô tả các phương thức, thuộc tính và yêu cầu bảo mật của lớp, trong khi mã nguồn chứa logic cần thiết để thực hiện chức năng Nhờ đó, mỗi lớp được biên dịch thành một khối tự chứa (self-contained), giúp môi trường hosting có thể đọc metadata và mã nguồn mà không cần thông tin bổ sung nào khác để sử dụng.
Ngôn ngữ C# hỗ trợ truy cập bộ nhớ trực tiếp thông qua kiểu con trỏ giống như C++, sử dụng từ khóa cho dấu ngoặc [] Tuy nhiên, mã nguồn sử dụng con trỏ được coi là không an toàn (unsafe) Lưu ý rằng bộ giải phóng bộ nhớ tự động của CLR sẽ không giải phóng các đối tượng được tham chiếu bằng con trỏ cho đến khi chúng được giải phóng.
Ngôn ngữ lập trình C# nổi bật với cú pháp ngắn gọn, dễ tiếp cận và thân thiện cho người mới bắt đầu Khi gặp khó khăn, lập trình viên có thể nhấn F1 để nhận hỗ trợ từ MSDN, giúp hiểu rõ hơn về ý nghĩa từ khóa và cú pháp trong C#.
C# là một ngôn ngữ lập trình mạnh mẽ, hỗ trợ cấu trúc, thành phần và lập trình hướng đối tượng Được phát triển dựa trên nền tảng của hai ngôn ngữ hàng đầu là C++ và Java, C# mang lại nhiều tính năng ưu việt cho lập trình viên.
Mã nguồn C# có khả năng tái sử dụng cho các ứng dụng khác nhờ vào việc tổ chức các khởi tạo, khai báo và phương thức trong lớp Chỉ cần truyền các lớp này cho các chương trình khác, người dùng có thể sử dụng chúng một cách hiệu quả và nhanh chóng.
C# là một ngôn ngữ lập trình mạnh mẽ, phổ biến và được ứng dụng rộng rãi trong nhiều lĩnh vực Nó được sử dụng để phát triển các dự án đa dạng, bao gồm ứng dụng xử lý văn bản, ứng dụng đồ họa, bảng tính, và cả trình biên dịch cho các ngôn ngữ khác.
C# không yêu cầu phân chia giữa tập tin header và tập tin nguồn như trong C++, giúp việc quản lý mã nguồn trở nên dễ dàng hơn Tất cả dữ liệu cần thiết được tập hợp trong phần khai báo lớp, và người dùng có thể sử dụng XML để tự động tạo ra các tài liệu cho lớp bằng cách chèn các thẻ XML.
Interface trong lập trình C# cho phép tương tác giữa nhiều lớp mà không cần viết lại các phương thức đã có, giúp các lớp chia sẻ thuộc tính hoặc thực hiện phương thức chung một cách hiệu quả.
Ngoài ra, khi đã thành thạo lập trình C# thì chúng ta còn có thể dùng C# để viết game XNA rất tuyệt vời với sự hỗ trợ của Microsoft
2.3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server 2008
Các chức năng cơ bản của hệ thống
Qua quá trình nghiên cứu, tôi đã phát triển một hệ thống cơ sở dữ liệu quản lý nhân sự cơ bản, đáp ứng một số yêu cầu thiết yếu của doanh nghiệp.
Quản lý hồ sơ nhân viên cần đầy đủ thông tin thiết yếu như mã nhân viên, họ tên, ngày sinh, địa chỉ, số điện thoại, trình độ văn hóa, trình độ ngoại ngữ, CMND, bảo hiểm y tế, nơi đóng bảo hiểm y tế, ngày vào và ngày ra.
- Theo dõi, cập nhật thường xuyên thông tin nhân viên, phòng ban, chức vụ,… trong công ty
- Tra cứu tìm kiếm thông tin nhân viên, chức vụ, phòng bạn,…
- Tính lương thực lãnh của nhân viên dựa theo lương cơ bản và phụ cấp
- Xuất danh sách nhân viên theo phòng, chức vụ, hình thức lao động.
Biểu đồ phân cấp chức năng
Hình 3.1: Sơ đồ phân cấp chức năng
Đặc tả nghiệp vụ trong hệ thống
Tên nghiệp vụ : Cập nhật thông tin nhân viên
Số chứng minh nhân dân
Bảng hồ sơ nhân viên
Để tạo bảng hồ sơ nhân viên và lưu trữ vào cơ sở dữ liệu, thông tin nhập vào cần phải đúng quy cách Nếu thông tin không chính xác, hệ thống sẽ yêu cầu người dùng nhập lại.
Tên nghiệp vụ : Tìm kiếm thông tin nhân viên
Các yêu cầu về thông tin tìm kiếm nhƣ:
Thông tin nhân viên cần tìm kiếm
Khi người dùng nhập yêu cầu tìm kiếm, hệ thống sẽ truy vấn cơ sở dữ liệu hồ sơ nhân viên để tìm kiếm thông tin Nếu không tìm thấy dữ liệu phù hợp, hệ thống sẽ đề nghị người dùng kiểm tra lại hoặc bổ sung thông tin tìm kiếm.
Biểu đồ luồng dữ liệu các mức
3.4.1 Biểu đồ luồng dữ liệu mức khung cảnh
Hình 3.2:Biểu đồ luồng dữ liệu mức khung cảnh 3.4.2 Biểu đồ phân rã chức năng quản lý nhân sự:
Tìm kiếm thông tin nhân viên
Nhân viên Người quản lý
Cập nhật thông tin nhân viên
Thông tin yêu cầu cần tìm kiếm
Thông tin tìm kiếm trả về
Thông tin yêu cầu tìm kiếm
Thông tin tìm kiếm được trả về
Thông tin nhân viên Báo cáo về nhân viên công ty
Hình 3.3: Biểu đồ luồng dữ liệu phân rã chức năng quản lý nhân sự
(1) Thông tin nhân viên đƣợc cung cấp để cập nhật, xử lý
(2) Thông tin sau khi được cập nhật sẽ được lưu trữ
(3) Thông tin về nhân viên đƣợc cung cấp cho quá trình tìm kiếm
3.4.3 Biểu đồ phân rã chức năng quản lý phòng ban:
Hình 3.4: Biểu đồ phân rã chức năng quản lý phòng ban
3.4.4 Biểu đồ phân rã chức năng quản lý chức vụ:
Hình 3.5: Biểu đồ phân rã chức năng quản lý chức vụ
Bảng mô tả các thực thể
Lưu trữ thông tin chi tiết về một nhân viên trong công ty
Tên Kiểu dữ liệu Khoá Mô tả
Manv Nvarchar(10) Mã nhân viên, là duy nhất đối với từng nhân viên
Hoten Nvarchar(50) Họ tên của nhân viên
Ngaysinh Date Ngày sinh của nhân viên
Diachi Nvarchar(50) Địa chỉ đang ở hiện nay
Mapb Nvarchar(10) Mã phòng ban, là duy nhất đối với từng phòng ban
Macv Nvarchar(10) Mã chức vụ, là duy nhất đối với từng chức vụ
Hsluong Nvarchar(10) Hệ số lương
Dienthoai Nvarchar(20) Số điện thoại
CMND Nvarchar(20) Số chứng minh nhân dân
Tdvanhoa Nvarchar(20) Trình độ văn hoá
Ngoaingu Nvarchar(20) Trình độ ngoại ngữ
Ngayvao Date Ngày vào làm việc
Ngayra Date Ngày thôi việc/chuyển đi
SoBH Nvarchar(20) Số sổ bảo hiểm
Noidongbh Nvarchar(50) Nơi đóng bảo hiểm
Lưu trữ thông tin về các phòng ban trong công ty
Tên Kiểu dữ liệu Khoá Mô tả
Mapb Nvarchar(10) Mã phòng ban
Tenpb Nvarchar(20) Tên phòng ban
Lưu trữ thông tin về chức vụ của nhân viên trong công ty
Tên Kiểu dữ liệu Khoá Mô tả
Macv Nvarchar(10) Mã chức vụ, là duy nhất đối với từng chức vụ
Lưu trữ các lý do mà nhân viên có thể chọn để nghỉ
Tên Kiểu dữ liệu Khoá Mô tả
Malydo Nvarchar(10) Mã lý do nghỉ, là duy nhất đối với từng lý do
Lydo Nvarchar(50) Lý do nghỉ
Lưu trữ mã nhân viên và ngày đăng ký nghỉ
Tên Kiểu dữ liệu Khoá Mô tả
Manv Nvarchar(10) Mã nhân viên
Ngaydangky Date Ngày đăng ký nghỉ
Malydo Nvarchar(10) Mã lý do nghỉ
3.5.6 Bảng đăng ký làm thêm:
Lưu trữ mã nhân viên và ngày đăng ký làm thêm
Tên Kiểu dữ liệu Khoá Mô tả
Manv Nvarchar(10) Mã nhân viên
Ngay Date Ngày đăng ký làm thêm
DKTC Nvarchar(20) Đăng ký tăng ca
Lưu trữ thông tin mã nhân viên và ngày đã nhận tạm ứng
Tên Kiểu dữ liệu Khoá Mô tả
Manv Nvarchar(10) Mã nhân viên
Ngay Date Ngày nhận tạm ứng
Tamung Nvarchar(20) Số tiền tạm ứng
3.5.8 Bảng báo cáo lương tháng chi tiết:
Lưu trữ thông tin tạm thời về báo cáo lương của nhân viên trong tháng đã chọn, bao gồm mã nhân viên và thời gian làm việc từ ngày mồng một đến cuối tháng.
Tên Kiểu dữ liệu Khoá Mô tả
Manv Nvarchar(10) Mã nhân viên
T1 Int Thời gian làm ngày 1
T2 Int Thời gian làm ngày 2
T30 Int Thời gian làm ngày 30
T31 Int Thời gian làm ngày 31
Tamung Nvarchar(30) Số tiền tạm ứng
Sơ đồ thực thể liên kết
Hình 3.6: Sơ đồ thực thể liên kết
Bảng liệt kê các form:
Tên tập tin Mục đích sử dụng frmDangnhap.frm Biểu mẫu đăng nhập chương trình, cho phép ghi nhớ Người sử dụng frmMain.frm
Biểu mẫu chính của chương trình Biểu mẫu này chứa các thực đơn thanh công cụ thực hiện các chức năng frmQuanlynhansu.frm
Biểu mẫu quản lý nhân viên cung cấp nhiều chức năng hữu ích, bao gồm thêm mới, sửa đổi, và xóa hồ sơ nhân viên thông qua frmThemnhanvien.frm, frmSuanhanvien.frm, và frmxoanhanvien.frm Ngoài ra, người dùng có thể đăng ký thời gian làm thêm cho nhân viên qua frmDangkytangca.frm và lý do vắng mặt qua frmDangkynghilam.frm Để quản lý tài chính, frmCapnhattamung.frm cho phép cập nhật tiền tạm ứng, trong khi frmTimkiem.frm hỗ trợ tìm kiếm hồ sơ nhân viên và xuất ra file Excel Các chức năng quản lý chức vụ và phòng ban được thực hiện qua frmQuanlychucvu.frm và frmQuanlyPhongban.frm Cuối cùng, frmCapnhattiencong.frm cung cấp bảng lương hàng tháng cho từng nhân viên.
MÔ TẢ SẢN PHẨM
From cập nhật tiền công
1 Kết quả đạt đƣợc của đề tài
Quá trình khảo sát, phân tích và thiết kế hệ thống Quản lý nhân sự cơ bản đã hoàn tất, đáp ứng đầy đủ các yêu cầu đã đề ra Các công việc trong hệ thống đã được trình bày một cách cụ thể và rõ ràng.
- Chức năng Quản lý nhân sự
+ Thêm mới, cập nhật, sửa, xóa…thông tin về hồ sơ nhân viên
+ Cho phép tìm kiếm thông tin của nhân viên
- Chức năng Quản lý phòng ban
+ Thêm mới, cập nhật, xóa…thông tin về phòng ban
- Chức năng Quản lý chức vụ
+ Thêm mới, cập nhật, xóa…thông tin về chức vụ
2 Hạn chế của đề tài
Do thời gian hạn chế và kiến thức của chúng em còn hạn chế, việc khảo sát, phân tích và thiết kế hệ thống quản lý nhân sự vẫn chưa được hoàn thiện.
- Chƣa sử dụng đƣợc cách chấm công đạt hiệu quả
- Chương trình chưa có tính thẩm mỹ cao
Em rất mong nhận đƣợc những ý kiến đóng góp từ phía thầy cô để hệ thống ngày càng hoàn thiện hơn
3 Hướng khắc phục và phát triển đề tài Để áp dụng đề tài vào thực tế một cách thuận tiện và tốt hơn, hệ thống này có thể phát triển theo hướng sau:
- Bổ sung các chức năng chấm công tự động nhƣ kết nối với máy chấm công bằng vân tay
- Phát triển giao diện phần mềm có tính thẩm mỹ, thân thiện, phù hợp với người sử dụng
Phần mềm quản lý nhân sự là công cụ hữu ích giúp doanh nghiệp quản lý hiệu quả, nhanh chóng và thuận tiện hơn.