Tóm lại, với nhu cầu thực tế của các doanh nghiệp, tính ứng dụng cao và sự phù hợp của công nghệ C# và SQL Server, đề tài "Xây dựng phần mềm quản lý nhân sự" không chỉ mang lại giá trị
Trang 1BÁO CÁO THỰC HÀNH LẬP
TRÌNH HƯỚNG ĐỐI TƯỢNG – C#
Tiêu đề sản phẩm: Xây dựng phần mềm Quản
lý nhân sự bằng C# và SQL
BỘ TÀI CHÍNH HỌC VIỆN TÀI CHÍNH
Nhóm sinh viên thực hiện:
Trang 2TÓM TẮT NỘI DUNG THỰC HÀNH
1 Lê Ngọc Lam Châu - Thiết kế Form (Giao diện người dùng) - Cung cấp cơ sở lý thuyết – Chương 1 báo cáo
2 Vũ Thị Hồng Trang
- Cung cấp Database cho hệ thống
- Xử lý dữ liệu đầu vào
- Viết chương 2 báo cáo
3 Trương Thị Cẩm Vân
- Lên ý tưởng đề tài
- Viết chương 3 báo cáo
- Hỗ trợ code
4 Lê Thị Hồng Diễm - Code phần mềm - Viết chương 4 báo cáo
Trang 3MỤC LỤC
Mục lục
CHƯƠNG 1: GIỚI THIỆU 5
1 LÝ DO CHỌN ĐỀ TÀI 5
2 MỤC TIÊU CỦA ĐỀ TÀI 6
3 PHẠM VI NGHIÊN CỨU 6
4 PHƯƠNG PHÁP NGHIÊN CỨU 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7
2.1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ NHÂN SỰ 7
2.1.1 Khái niệm về quản lý nhân sự 7
2.1.2 Các chức năng cơ bản của một hệ thống quản lý nhân sự 7
2.2 GIỚI THIỆU VỀ CÔNG NGHỆ SỬ DỤNG 8
2.2.1 Ngôn ngữ lập trình 8
2.2 Tổng quát về SQL Server 9
2.1.1 Giới thiệu về SQL Server 9
2.2.2 Các phiên bản của SQL Server 10
2.2.3 Ưu điểm của SQL Server 10
2.2.4 Ứng dụng của SQL Server trong hệ thống quản lý nhân sự 11
2.3 Mô hình phát triển phần mềm 11
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 13
3.1 YÊU CẦU HỆ THỐNG 13
3.1.1 Yêu cầu chức năng: 13
3.1.2 Yêu cầu phi chức năng 13
CHƯƠNG 4: TRIỂN KHAI HỆ THỐNG 15
4.1 GIAO DIỆN NGƯỜI DÙNG 15
4.2 TẠO DATABASE VÀ STORED PROCEDURE TRONG SQL SERVER .16
4.3 KẾT NỐI SQL SERVER VỚI C# 19
4.4 XỬ LÝ DỮ LIỆU 20
Trang 44.4.1 Tìm kiếm dữ liệu 20
4.4.2 Thêm dữ liệu 22
4.4.3 Cập nhật dữ liệu 23
4.4.4 Xóa dữ liệu 25
Trang 5CHƯƠNG 1: GIỚI THIỆU
1 LÝ DO CHỌN ĐỀ TÀI
Trong bối cảnh phát triển kinh tế và công nghệ hiện nay, quản lý nhân sự đóng vai trò quan trọng trong việc vận hành và phát triển doanh nghiệp Các công ty, dù lớn hay nhỏ, đều cần một hệ thống quản lý nhân sự hiệu quả để theo dõi thông tin nhân viên, chấm công, tính lương, quản lý hợp đồng, đánh giá hiệu suất, v.v Tuy nhiên, nhiều doanh nghiệp vẫn quản lý nhân sự theo cách thủ công hoặc sử dụng các phần mềm rời rạc, dẫn đến nhiều vấn đề như sau: Thứ nhất, dữ liệu phân tán, khó tra cứu và cập nhật Thứ hai, tốn nhiều thời gian cho công tác quản lý và báo cáo Thứ ba, nguy cơ sai sót cao khi tính lương, thưởng, khấu trừ Thứ tư, bảo mật thông tin nhân viên không đảm bảo Do đó, việc xây dựng một phần mềm quản lý nhân sự giúp doanh nghiệp tối ưu hóa quy trình quản lý, giảm thiểu sai sót và nâng cao hiệu quả làm việc là vô cùng cần thiết
Phần mềm quản lý nhân sự có thể áp dụng cho nhiều loại hình doanh nghiệp Đới với công ty nhỏ và vừa: Giúp tự động hóa các công việc quản lý nhân sự mà không cần thuê nhiều nhân viên hành chính Đối với tập đoàn lớn, quản lý nhân sự với số lượng lớn, phân quyền theo phòng ban, tối ưu hóa quy trình tuyển dụng và đánh giá nhân viên Đối với trường học, bệnh viện, tổ chức hành chính quản lý giáo viên, bác sĩ, nhân viên văn phòng theo hợp đồng lao động và chấm công linh hoạt Ngoài ra, phần mềm có thể được phát triển thành phiên bản Web hoặc
Mobile, giúp nhà quản lý có thể truy cập và giám sát nhân sự từ xa một cách tiện lợi
Trong số nhiều công nghệ có thể sử dụng để xây dựng phần mềm, nhóm phát triển quyết định sử dụng C# và SQL bởi đây là một bộ công cụ mạnh mẽ, phổ biến, giúp đảm bảo hiệu suất và bảo mật cho hệ thống Lợi ích của C# trong lập trình phần mềm quản lý nhân sự Với ngôn ngữ lập trình mạnh mẽ, hỗ trợ lập trình hướng đối tượng (OOP): C# giúp quản lý dữ liệu dễ dàng, tăng khả năng mở rộng
và bảo trì phần mềm Bên cạnh đó giao diện thân thiện với người dùng, C# hỗ trợ phát triển ứng dụng Desktop bằng WinForms hoặc WPF, giúp tạo ra giao diện trực quan, dễ sử dụng Mặt khác, SQL Server Lưu trữ dữ liệu tập trung, có thể xử lý hàng triệu bản ghi: SQL Server là hệ quản trị cơ sở dữ liệu mạnh mẽ, phù hợp với nhu cầu quản lý dữ liệu lớn SQL Server hỗ trợ phân quyền người dùng, mã hóa dữ liệu, giúp bảo vệ thông tin nhân sự quan trọng SQL Server có thể kết nối với C# thông qua ADO.NET hoặc Entity Framework, giúp thao tác với dữ liệu một cách linh hoạt
Trang 6Tóm lại, với nhu cầu thực tế của các doanh nghiệp, tính ứng dụng cao và sự
phù hợp của công nghệ C# và SQL Server, đề tài "Xây dựng phần mềm quản lý
nhân sự" không chỉ mang lại giá trị thực tiễn mà còn là một hướng phát triển đầy
tiềm năng trong lĩnh vực công nghệ thông tin
2 MỤC TIÊU CỦA ĐỀ TÀI
Mục tiêu của đề tài là xây dựng một hệ thống quản lý nhân sự giúp doanh nghiệp lưu trữ và tra cứu thông tin nhân viên một cách nhanh chóng, chính xác Phần mềm sẽ hỗ trợ quản lý lương, chấm công và hợp đồng lao động, giúp tự động hóa các quy trình quan trọng như theo dõi giờ làm việc, tính toán lương thưởng và quản lý hợp đồng nhân sự Bên cạnh đó, hệ thống sẽ được thiết kế với giao diện thân thiện, dễ sử dụng, giúp người dùng thao tác thuận tiện, ngay cả khi không có nhiều kinh nghiệm về công nghệ Việc phát triển phần mềm này nhằm nâng cao hiệu suất quản lý nhân sự, giảm thiểu sai sót và tối ưu hóa hoạt động hành chính trong doanh nghiệp
4 PHƯƠNG PHÁP NGHIÊN CỨU
Phương pháp nghiên cứu: tìm hiểu mô hình quản lý nhân sự thực tế tại các doanh nghiệp để xác định nhu cầu và yêu cầu hệ thống
Nghiên cứu và ứng dụng lập trình C# kết hợp với SQL Server để thiết kế và triển khai hệ thống quản lý dữ liệu một cách hiệu quả
Tiến hành xây dựng mô hình, phát triển phần mềm, kiểm thử và tối ưu để đảm bảo tính ổn định và đáp ứng tốt nhu cầu sử dụng
Ngôn ngữ lập trình chính: C#
Trang 7CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ NHÂN SỰ
2.1.1 Khái niệm về quản lý nhân sự
Quản lý nhân sự là quá trình hoạch định, tổ chức, giám sát và điều phối các hoạt động liên quan đến con người trong một tổ chức hoặc doanh nghiệp Mục tiêu của quản lý nhân sự là tuyển dụng, đào tạo, phát triển, đánh giá và duy trì nhân viên nhằm đảm bảo họ phát huy tối đa năng lực, đóng góp vào sự phát triển của doanh nghiệp
Quản lý nhân sự bao gồm nhiều hoạt động quan trọng như:
• Quản lý hồ sơ nhân viên: Lưu trữ thông tin cá nhân, quá trình làm việc, hợp đồng lao động
• Chấm công, tính lương: Theo dõi thời gian làm việc, ngày nghỉ, tính toán lương thưởng, khấu trừ bảo hiểm
• Tuyển dụng và đào tạo: Tìm kiếm nhân tài, đào tạo và nâng cao kỹ năng nhân viên
• Đánh giá và khen thưởng: Xây dựng hệ thống đánh giá hiệu suất, khen
thưởng và chế độ đãi ngộ phù hợp
2.1.2 Các chức năng cơ bản của một hệ thống quản lý nhân sự
Một hệ thống quản lý nhân sự cần có các chức năng cơ bản để hỗ trợ doanh nghiệp trong việc theo dõi và quản lý nhân viên một cách hiệu quả Trước tiên, quản lý thông tin nhân viên là chức năng quan trọng giúp lưu trữ và cập nhật hồ sơ nhân sự, bao gồm thông tin cá nhân như họ tên, ngày sinh, giới tính, địa chỉ, số điện thoại, email, cũng như quá trình làm việc, phòng ban, chức vụ, ngày vào làm, lịch sử thăng tiến, khen thưởng và kỷ luật
Bên cạnh đó, hệ thống cần có chức năng chấm công và quản lý thời gian làm việc, giúp theo dõi giờ làm, ca làm việc, ngày nghỉ phép, tăng ca của nhân viên, đồng thời có thể tích hợp với máy chấm công để tự động cập nhật dữ liệu Quản lý lương và chế độ đãi ngộ cũng là một phần không thể thiếu, giúp tính toán lương dựa trên thời gian làm việc, hệ số lương, các khoản phụ cấp, bảo hiểm, thuế thu nhập cá nhân, đồng thời tạo bảng lương và hỗ trợ xuất báo cáo
Ngoài ra, hệ thống còn hỗ trợ quản lý hợp đồng lao động, giúp lưu trữ thông tin về loại hợp đồng, thời hạn, ngày ký kết, ngày hết hạn và nhắc nhở khi hợp đồng
Trang 8sắp hết hiệu lực Tuyển dụng và đào tạo nhân sự cũng là một chức năng quan trọng, giúp doanh nghiệp theo dõi quá trình tuyển dụng, đánh giá ứng viên và tổ chức các chương trình đào tạo để nâng cao kỹ năng nhân viên
Cuối cùng, hệ thống cần có báo cáo và phân tích dữ liệu nhân sự, cung cấp các thống kê về số lượng nhân viên, tình trạng hợp đồng, biến động nhân sự, hiệu suất làm việc, giúp nhà quản lý đưa ra quyết định nhanh chóng và chính xác Với các chức năng này, hệ thống quản lý nhân sự sẽ giúp doanh nghiệp tối ưu hóa quy trình, tiết kiệm thời gian và nâng cao hiệu quả hoạt động
2.2 GIỚI THIỆU VỀ CÔNG NGHỆ SỬ DỤNG
2.2.1 Ngôn ngữ lập trình
a) C-sharp (C#)
C sharp (C#) là một ngôn ngữ lập trình hướng đối tượng do Microsoft phát
triển, được sử dụng phổ biến trong việc xây dựng các ứng dụng Windows, web và
di động C# có cú pháp đơn giản, dễ học nhưng vẫn mạnh mẽ, hỗ trợ lập trình hướng đối tượng (OOP), giúp xây dựng các hệ thống lớn một cách dễ dàng và bảo trì hiệu quả
Một số đặc điểm nổi bật của C#:
Một là hướng đối tượng (OOP - Object-Oriented Programming): Giúp tổ
chức mã nguồn theo mô hình lớp (class) và đối tượng (object), dễ dàng mở rộng và tái sử dụng
Hai là mạnh mẽ và an toàn, C# hỗ trợ kiểm tra kiểu dữ liệu chặt chẽ, giúp
giảm thiểu lỗi cú pháp và lỗi runtime Ngoài ra, C# có thể kết nối dễ dàng với SQL Server, Azure, các API của Microsoft và các công cụ phát triển khác như Visual Studio
Ba là hỗ trợ thư viện phong phú: C# có nhiều thư viện hỗ trợ xử lý dữ liệu, giao
diện người dùng, truy vấn cơ sở dữ liệu, kết nối mạng, bảo mật…
b .Net Framework
.NET Framework là một nền tảng phát triển ứng dụng do Microsoft cung cấp,
hỗ trợ nhiều ngôn ngữ lập trình, trong đó C# là phổ biến nhất Nó cung cấp một thư viện phong phú cùng các công cụ mạnh mẽ giúp lập trình viên phát triển phần mềm nhanh chóng và dễ dàng hơn .NET Framework có khả năng tích hợp tốt với
Trang 9hệ điều hành Windows, hỗ trợ kết nối cơ sở dữ liệu, xử lý giao diện đồ họa, bảo mật và nhiều tính năng khác
Lợi ích của NET Framework:
Một là hỗ trợ đa ngôn ngữ Có thể viết code bằng nhiều ngôn ngữ như C#,
VB.NET, F# Với thư viện phong phú, hỗ trợ xử lý dữ liệu, giao diện đồ họa, truy vấn cơ sở dữ liệu, lập trình mạng, bảo mật…
Hai là khả năng quản lý bộ nhớ tự động Hỗ trợ thu gom rác (Garbage
Collection), giúp tối ưu hóa hiệu suất ứng dụng
Ba là có tính bảo mật cao Tích hợp cơ chế xác thực, mã hóa, bảo vệ dữ liệu
trong ứng dụng
c WinForms (Windows Forms)
WinForms (Windows Forms): Là một công nghệ trong NET dùng để xây dựng
ứng dụng Windows với giao diện đồ họa WinForms cung cấp nhiều điều khiển (controls) như button, textbox, datagridview… giúp lập trình viên dễ dàng thiết kế giao diện người dùng
Ưu điểm của WinForms như sau Dễ sử dụng, dễ triển khai, thích hợp với các ứng dụng nhỏ và vừa, nhanh chóng tạo giao diện bằng cách kéo thả Hai là tích hợp tốt với C# và SQL Servec, hỗ trợ thao tác dữ liệu trực tiếp từ giao diện đến cơ sở
dữ liệu Ba là hiệu suất cacchạy ổn định trên nền tảng Windows, không yêu cầu tài
nguyên hệ thống quá lớn
Tóm lại, với việc sử dụng C#, NET Framework và WinForms, hệ thống quản lý
nhân sự sẽ có một nền tảng vững chắc, đảm bảo hiệu suất cao, giao diện thân thiện
và khả năng mở rộng trong tương lai Đây là những công nghệ phù hợp cho các ứng dụng doanh nghiệp cần sự ổn định và khả năng mở rộng trong tương lai
2.2 Tổng quát về SQL Server
2.1.1 Giới thiệu về SQL Server
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS - Relational Database Management System) do Microsoft phát triển SQL Server được sử dụng rộng rãi trong các hệ thống phần mềm quản lý dữ liệu, đặc biệt là trong các doanh nghiệp, tổ chức có nhu cầu xử lý và lưu trữ lượng dữ liệu lớn SQL Server cung cấp một môi trường mạnh mẽ để quản lý, truy vấn và bảo mật dữ liệu, giúp các ứng dụng phần mềm hoạt động ổn định và hiệu quả Nó hỗ trợ nhiều
Trang 10tính năng quan trọng như tích hợp với NET, xử lý dữ liệu lớn, sao lưu và phục hồi
dữ liệu, bảo mật nâng cao và khả năng mở rộng cao
2.2.2 Các phiên bản của SQL Server
Microsoft SQL Server có nhiều phiên bản khác nhau để phù hợp với nhu cầu của từng doanh nghiệp, bao gồm:
• SQL Server Express: Phiên bản miễn phí, thích hợp cho các ứng dụng nhỏ hoặc phát triển cá nhân
• SQL Server Standard: Hỗ trợ đầy đủ tính năng cho doanh nghiệp vừa và nhỏ
• SQL Server Enterprise: Phiên bản cao cấp với hiệu suất cao, hỗ trợ dữ liệu lớn và bảo mật mạnh mẽ
• SQL Server Developer: Cung cấp đầy đủ tính năng như Enterprise nhưng chỉ dùng cho mục đích phát triển, không được triển khai thực tế
SQL Server Developer vào xây dụng phần mềm quản lý nhân sự trình bày dưới đây
2.2.3 Ưu điểm của SQL Server
Thứ nhất, SQL Server có hiệu suất cao, cho phép xử lý dữ liệu nhanh chóng
nhờ khả năng tối ưu hóa truy vấn và sử dụng các công cụ quản lý bộ nhớ tiên tiến SQL Server hỗ trợ chỉ mục (Indexing), bộ nhớ đệm (Caching) và các phương pháp tối ưu hóa truy vấn như Query Execution Plan, giúp rút ngắn thời gian tìm kiếm và
xử lý dữ liệu ngay cả khi hệ thống có lượng dữ liệu lớn
Thứ hai là tính bảo mật cao bảo mật là một trong những ưu điểm quan
trọng của SQL Server Hệ thống hỗ trợ cơ chế xác thực người dùng
(Authentication), phân quyền truy cập (Authorization) để đảm bảo chỉ những
người có quyền mới có thể thao tác với dữ liệu Ngoài ra, SQL Server còn hỗ trợ
mã hóa dữ liệu (Encryption) và cơ chế kiểm soát truy cập (Access Control) để ngăn chặn các cuộc tấn công và rò rỉ dữ liệu, đảm bảo an toàn thông tin cho doanh
nghiệp
Thứ ba là tính linh hoạt và khả năng tích hợp cao SQL Server có thể dễ
dàng kết nối với các ứng dụng phát triển bằng C# và NET Framework, giúp các lập trình viên xây dựng hệ thống phần mềm một cách thuận tiện Bên cạnh đó,
Trang 11SQL Server còn hỗ trợ giao tiếp với nhiều nền tảng khác như Power BI, Excel, Azure, giúp phân tích và quản lý dữ liệu một cách hiệu quả
Thứ tư là khả năng cung cấp cơ chế sao lưu và phục hồi dữ liệu mạnh mẽ,
giúp bảo vệ dữ liệu trước các sự cố hệ thống, lỗi phần mềm hoặc mất dữ liệu do con người SQL Server hỗ trợ tự động sao lưu (Backup) và phục hồi dữ liệu
(Restore), cho phép khôi phục hệ thống về trạng thái trước đó mà không làm mất
dữ liệu quan trọng
2.2.4 Ứng dụng của SQL Server trong hệ thống quản lý nhân sự
Trong hệ thống quản lý nhân sự, SQL Server đóng vai trò quan trọng trong việc lưu trữ và xử lý dữ liệu nhân viên, bao gồm:
• Lưu trữ thông tin nhân viên: Họ tên, ngày sinh, phòng ban, chức vụ, lương
• Quản lý bảng lương và chấm công: Tính toán lương theo dữ liệu chấm công
• Lưu trữ hợp đồng lao động: Theo dõi ngày ký kết, thời hạn hợp đồng
• Cung cấp báo cáo và thống kê: Xuất dữ liệu nhân sự phục vụ phân tích và ra quyết định
2.3 Mô hình phát triển phần mềm
Trong quá trình phát triển hệ thống quản lý nhân sự, việc lựa chọn mô hình kiến trúc phần mềm phù hợp giúp đảm bảo tính hiệu quả, dễ bảo trì và mở rộng Hai mô hình phổ biến thường được áp dụng là MVC (Model-View-Controller) và 3-Layer Architecture (Kiến trúc 3 lớp)
Mô hình MVC là một kiến trúc phần mềm phổ biến trong lập trình ứng dụng,
đặc biệt khi sử dụng C# với ASP.NET để phát triển phần mềm MVC giúp tách biệt các thành phần trong ứng dụng, đảm bảo tính dễ bảo trì, dễ mở rộng và tái sử dụng
Mô hình MVC có khả năng tách biệt rõ ràng giữa giao diện, logic xử lý và dữ liệu
Dễ dàng mở rộng và bảo trì hệ thống Hỗ trợ tái sử dụng mã nguồn
• Model (M - Mô hình dữ liệu): Chịu trách nhiệm tương tác với cơ sở dữ liệu,
xử lý dữ liệu và thực hiện các thao tác như thêm, sửa, xóa, tìm kiếm Trong
hệ thống quản lý nhân sự, Model sẽ làm việc với SQL Server để truy vấn và cập nhật dữ liệu nhân viên, bảng lương, hợp đồng lao động
• View (V - Giao diện hiển thị): Hiển thị thông tin cho người dùng, chịu trách nhiệm giao diện của ứng dụng Trong WinForms hoặc WPF, View có thể là các Form nhập liệu, bảng danh sách nhân viên, màn hình chấm công
Trang 12• Controller (C - Bộ điều khiển): Điều phối luồng xử lý giữa Model và View,
xử lý các yêu cầu từ người dùng, gọi Model để lấy dữ liệu, sau đó cập nhật View để hiển thị thông tin phù hợp
Trang 13CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 YÊU CẦU HỆ THỐNG
3.1.1 Yêu cầu chức năng:
Hệ thống cần cung cấp các chức năng chính để quản lý thông tin nhân viên
và hỗ trợ công tác nhân sự trong doanh nghiệp
Đối với, quản lý nhân viên:
• Cho phép thêm mới, chỉnh sửa, xóa và cập nhật thông tin nhân viên như họ tên, ngày sinh, giới tính, địa chỉ, số điện thoại, email, phòng ban, chức vụ, lương
• Hỗ trợ quản lý trạng thái nhân viên (đang làm việc, nghỉ phép, đã nghỉ việc, thử việc )
• Lưu trữ thông tin quá trình làm việc, thăng chức, điều chuyển nhân sự
Đối với khả năng tìm kiếm nhân viên theo điều kiện
• Hỗ trợ tìm kiếm nhanh theo mã nhân viên, họ tên, phòng ban, chức vụ
• Lọc danh sách nhân viên theo trạng thái làm việc, mức lương, thời gian công tác
• Tìm kiếm nâng cao với nhiều điều kiện kết hợp, hỗ trợ gợi ý tìm kiếm để tăng tính tiện dụng
3.1.2 Yêu cầu phi chức năng
Bên cạnh các yêu cầu chức năng, hệ thống quản lý nhân sự cần đáp ứng một
số yêu cầu phi chức năng nhằm đảm bảo hiệu suất, bảo mật và trải nghiệm người dùng
Một là bảo mật Hệ thống phải hạn chế truy cập trái phép, chỉ những người
có quyền (quản trị viên, nhân sự) mới được phép xem và thao tác dữ liệu quan trọng Hỗ trợ đăng nhập bằng tài khoản và phân quyền người dùng (Admin, Quản
lý, Nhân viên…) Mã hóa dữ liệu nhạy cảm như mật khẩu, thông tin nhân viên để đảm bảo an toàn Ghi lại lịch sử thao tác của người dùng để theo dõi các hoạt động trên hệ thống
Hai là tốc độ xử lý Hệ thống phải tối ưu hiệu suất, đảm bảo tìm kiếm, truy
xuất và xử lý dữ liệu nhanh chóng, ngay cả khi có lượng dữ liệu lớn Hỗ trợ tối ưu