Tính chất: Thực hành xây dựng phần mềm quản lý bao gồm 5 bài, giúp học sinh biết cách phân tích các yêu cầu của bài tốn thực tiễn, từ đó xây dựng được mơ hình cơ sở dữ liệu và cuối cùng
KHẢO SÁT HIỆN TRẠNG VÀ TÌM HIỂU BÀI TOÁN QUẢN LÝ NHÂN SỰ
Khảo sát hiện trạng
toán quản lý nhân sự 8 8
2 Phân tích hệ thống quản lý nhân sự 28 26 2
3 Thiết kế và cài đặt hệ thống quản lý nhân sự 80 76 4
4 Kiểm thử phần mềm quản lý nhân sự 4 4
6 Điều kiện thực hiện môn học:
6.1 Phòng học Lý thuyết/Thực hành: Đáp ứng phòng học chuẩn
6.2 Trang thiết bị dạy học: Projetor, máy vi tính (40 máy/1 phòng), bảng, phấn 6.3 Học liệu, dụng cụ, mô hình, phương tiện: Giáo trình, mô hình học tập,… 6.4 Các điều kiện khác: Người học tìm hiểu thực tế thực tế về công việc tại các doanh nghiệp
7 Nội dung và phương pháp đánh giá:
- Kiến thức: Đánh giá tất cả nội dung đã nêu trong mục tiêu kiến thức
- Kỹ năng: Đánh giá tất cả nội dung đã nêu trong mục tiêu kỹ năng
- Năng lực tự chủ và trách nhiệm: Trong quá trình học tập, người học cần:
+ Nghiên cứu bài trước khi đến lớp
+ Chuẩn bị đầy đủ tài liệu học tập
+ Tham gia đầy đủ thời lượng môn học
+ Nghiêm túc trong quá trình học tập
Người học được đánh giá tích lũy môn học như sau:
- Thông tư 04/2022/TT-BLĐTBXH ngày 30/3/2022 của Bộ Lao động – Thương binh và Xã hội Quy định việc tổ chức thực hiện chương trình đào tạo trình độ trung cấp, trình độ cao đẳng theo niên chế hoặc theo phương thức tích luỹ mô-đun hoặc tín chỉ
- Nhà trường ban hành kèm theo Quyết định số 246/QĐ-CĐTMDL ngày 01/6/2022 của Hiệu trưởng Trường cao đẳng Thương mại và Du lịch về tổ chức đào tạo, kiểm tra, thi, đánh giá kết quả học tập và xét công nhận tốt nghiệp Điểm đánh giá Trọng số
+ Điểm kiểm tra thường xuyên (Hệ số 1) 40% + Điểm kiểm tra định kỳ (Hệ số 2)
+ Điểm thi kết thúc môn học 60%
Báo cáo Sau 4 giờ Định kỳ Thực hành Thực hành
Sau 30 giờ Kết thúc môn học Thực hành Thực hành
- Điểm đánh giá thành phần và điểm thi kết thúc môn học được chấm theo thang điểm 10 (từ 0 đến 10), làm tròn đến một chữ số thập phân
- Điểm môn học là tổng điểm của tất cả điểm đánh giá thành phần của môn học nhân với trọng số tương ứng Điểm môn học theo thang điểm 10 làm tròn đến một chữ số thập phân, sau đó được quy đổi sang điểm chữ và điểm số theo thang điểm 4 theo quy định của Bộ Lao động Thương binh và Xã hội về đào tạo theo tín chỉ
8 Hướng dẫn thực hiện môn học
8.1 Phạm vi, đối tượng áp dụng: Đối tượng Trung cấp CNTT (UDPM)
8.2 Phương pháp giảng dạy, học tập môn học
* Lý thuyết: Áp dụng phương pháp dạy học tích cực bao gồm: thuyết trình ngắn, nêu vấn đề, hướng dẫn đọc tài liệu, bài tập tình huống, câu hỏi thảo luận…
* Bài tập: Phân chia nhóm nhỏ thực hiện bài tập theo nội dung đề ra
* Thảo luận: Phân chia nhóm nhỏ thảo luận theo nội dung đề ra
* Hướng dẫn tự học theo nhóm: Nhóm trưởng phân công các thành viên trong nhóm tìm hiểu, nghiên cứu theo yêu cầu nội dung trong bài học, cả nhóm thảo luận, trình bày nội dung, ghi chép và viết báo cáo nhóm
8.2.2 Đối với người học: Người học phải thực hiện các nhiệm vụ như sau:
- Nghiên cứu kỹ bài học tại nhà trước khi đến lớp Các tài liệu tham khảo sẽ được cung cấp nguồn trước khi người học vào học môn học này (trang web, thư viện, tài liệu )
- Tham dự tối thiểu 80% các buổi giảng lý thuyết Nếu người học vắng >20% số tiết lý thuyết phải học lại môn học mới được tham dự kì thi lần sau
- Tự học và thảo luận nhóm: là một phương pháp học tập kết hợp giữa làm việc theo nhóm và làm việc cá nhân Một nhóm gồm 8-12 người học sẽ được cung cấp chủ đề thảo luận trước khi học lý thuyết, thực hành Mỗi người học sẽ chịu trách nhiệm về 1 hoặc một số nội dung trong chủ đề mà nhóm đã phân công để phát triển và hoàn thiện tốt nhất toàn bộ chủ đề thảo luận của nhóm
- Tham dự đủ các bài kiểm tra thường xuyên, định kỳ
- Tham dự thi kết thúc môn học
- Chủ động tổ chức thực hiện giờ tự học
[1] “C# 2005 – Lập Trình Cơ Bản”, Phạm Hữu Khang, NXB Lao Động và Xã Hội, 2010
[2] “C# in 21 Days”, Bradley L.Jones, SAMS
[3] “Windows Forms Programming with C#”, Erik Brown, Manning
Bài 1 KHẢO SÁT HIỆN TRẠNG VÀ TÌM HIỂU
BÀI TOÁN QUẢN LÝ NHÂN SỰ
Khi doanh nghiệp nằm ở quy mô nhỏ hoặc mới thành lập, quản lý công việc và dữ liệu thông qua các bảng excel có thể chưa gặp phải nhiều vấn đề Tuy nhiên, khi doanh nghiệp bắt đầu phát triển, việc sắp xếp, quản lý dữ liệu, phối hợp hoạt động giữa các phòng ban trở thành thách thức lớn với cách thức làm việc thủ công Vì lý do đó, các phần mềm quản lý doanh nghiệp ra đời nhằm giải quyết các hoạt động kinh doanh, mở rộng quy mô và tăng trưởng một cách hiệu quả bằng cách khiến mọi thứ trở nên đơn giản
Sau khi học xong bài này, người học có khả năng:
- Thu thập, tổng hợp dữ liệu của bài toán quản lý
- Hiểu rõ các đặc trưng của bài toán quản lý
- Đặc tả được hệ thống thông tin quản lý nhân sự
- Mô tả được cơ cấu tổ chức của công ty
- Biết phân tích và thiết kế cơ sở dữ liệu
* Về năng lực tự chủ và chịu trách nhiệm:
- Làm việc độc lập, làm việc theo nhóm;
- Có ý thức học tập, rèn luyện và nâng cao trình độ chuyên môn;
- Có ý thức trách nhiệm trong công việc, trong sử dụng, bảo quản tài sản trong doanh nghiệp
Phương pháp giảng dạy và học tập bài 1
- Đối với người dạy: sử dụng phương pháp giảng giảng dạy tích cực (diễn giảng, vấn đáp, dạy học theo vấn đề); yêu cầu người học thực hiện câu hỏi thảo luận và bài tập bài 1(cá nhân hoặc nhóm)
- Đối với người học: chủ động đọc trước giáo trình (bài 1) trước buổi học; hoàn thành đầy đủ câu hỏi thảo luận và bài tập tình huống bài 1theo cá nhân hoặc nhóm và nộp lại cho người dạy đúng thời gian quy định Điều kiện thực hiện bài 1
- Phòng học chuyên môn hóa/nhà xưởng: Máy tính (40 cái/1 phòng)
- Trang thiết bị máy móc: Máy chiếu và các thiết bị dạy học khác
- Học liệu, dụng cụ, nguyên vật liệu: Chương trình môn học, giáo trình, tài liệu tham khảo, giáo án và các tài liệu liên quan
- Các điều kiện khác: Không có
Kiểm tra và đánh giá bài 1
Kiến thức: Kiểm tra và đánh giá tất cả nội dung đã nêu trong mục tiêu kiến thức
Kỹ năng: Đánh giá tất cả nội dung đã nêu trong mục tiêu kĩ năng
Năng lực tự chủ và trách nhiệm: Trong quá trình học tập, người học cần:
+ Nghiên cứu bài trước khi đến lớp
+ Chuẩn bị đầy đủ tài liệu học tập
+ Tham gia đầy đủ thời lượng môn học
+ Nghiêm túc trong quá trình học tập
Phương pháp: Điểm kiểm tra thường xuyên: 1 điểm kiểm tra (hình thức: hỏi miệng)
Kiểm tra định kỳ lý thuyết: không có
Bài 1 KHẢO SÁT HIỆN TRẠNG VÀ TÌM HIỂU BÀI TOÁN QUẢN LÝ NHÂN SỰ
1.1 Tìm hiểu đơn vị cần quản lý hệ thống thông tin
Lịch sử đơn vị: Đơn vị là công ty TNHH, công ty liên doanh,…
Lĩnh vực hoạt động: Hoạt động trong lĩnh vực kết cấu thép…
Quy mô đơn vị: Quy mô về nhân sự, phạm vị kinh doanh sản xuất…
Cơ cấu tổ chức tại đơn vị
Nhiệm vụ, quyền hạng mỗi nhân sự cần quản lý
Các mối quan hệ nhân sự tại đơn vị
Các yếu tố khác liên quan đến hệ thống quản lý
1.2 Nghiệp vụ quản lý của đơn vị
Phương thức quản lý nhân sự
Tài liệu quản lý nhân sư
Các file, biểu mẫu liên quan việc quản lý nhân sự
1.3 Yêu cầu hệ thống quản lý
Tiếp nhận yêu cầu quản lý của đơn vị
Tiếp nhận tài liệu yêu cầu quản lý của đơn vị.
Bài đặc tả hệ thống thông tin quản lý nhân sự
Một công ty Cổ phần Kết Cấu Thép Thái Nguyên có nhu cầu quản lý nhân sự của họ trên máy tính bằng phần mềm có giao diện tương tác với người dùng Công ty có hơn 200 nhân viên
Mỗi nhân viên cần quản lý các thông tin như họ tên, ngày sinh, địa chỉ, giới tính, phòng ban công tác, trình độ học vấn, bậc lương được hưởng, ngoại ngữ, chức vụ đảm nhận, chế độ làm việc, tiền lương được nhận theo tháng của nhân sự
Trình độ nhân viên cần quản lý: Tên trình độ Mỗi nhân viên có nhiều ngoại ngữ khác nhau và mỗi ngoại ngữ có nhiều nhân viên đạt được Ngoại ngữ chỉ quản lý tên ngoại ngữ và ngày cấp ngoại ngữ Làm việc tại công ty nhân viên có chức vụ riêng cho mình Mỗi nhân viên nhiều hơn một chức vụ và có nhiều nhân viên đồng chức vụ Ta cần quản lý tên chức vụ, ngày bắt đầu nhận chức vụ và ngày kết thúc đảm nhận chức vụ đó Nhân viên làm việc chính thức chỉ tại một phòng ban
Một phòng ban có nhiều nhân viên làm việc Phòng ban cần quản lý tên phòng ban Nhân viên có nhiều bảo hiểm khác nhau và mỗi bảo hiểm có nhiều nhân viên được hưởng
Cần quản lý tên bảo hiểm Mỗi bảo hiểm của nhân viên có ngày bắt đầu và ngày kết thúc khác nhau cũng cần được quản lý Ta quản lý thêm nơi cấp, và ghi chú cho bảo hiểm của nhân viên Công tác tại công ty nhân viên được hưởng các chế độ nhất định Mỗi chế độ cần quản lý tên chế độ Nhân viên có nhiều chế độ và mỗi chế độ được nhiều nhân viên hưởng Ngày bắt đầu và ngày kết thúc của việc hưởng chế độ cần được lưu trữ trên máy tính
Hệ thống thông tin quản lý nhân sự có chức năng tính lương nhân viên trong công ty Nhân viên có một bậc lương riêng của mình dựa vào trình độ bằng cấp nhân viên có được Bậc lương được cập nhật lại theo thâm niên công tác của nhân sự thông qua hệ số bậc lương Cần quản lý thêm tên bậc lương cho bậc lương Bảng công ghi nhận lại ngày công mà nhân viên làm tại công ty Nhân viên làm đủ 8h/ngày mới được xác nhận công
Hệ thống quản lý nhân sự cần được bảo mật thông tin thông qua việc xác nhận tài khoản người dùng hệ thống Mỗi đối tượng người dùng có quyền sử dụng hệ thống quản lý ở các cấp chức năng khác nhau Bảng dữ liệu người dùng cần quản lý: Họ tên người dùng, tên tài khoản, mã bảo mật tài khoản và quyền cho tài khoản
Sau bài học này học sinh cần nắm được:
- Cơ cấu tổ chức một đơn vị quản lý
- Biết mô tả hệ thống quản lý nhân sự
BÀI TẬP: Hiện nay, thư viện là một hệ thống khá phổ biến trong các trường học cũng như trên các tỉnh thành trong cả nước Đi cùng với sự phát triển của các thư viện là nhu cầu của độc giả tăng lên, và số lượng sách trong thư viện cũng tăng lên rất nhiều so với những hệ thống thư viện đơn giản và nhỏ lẻ trước đây
Và, cũng một yêu cầu được đặt ra cùng với sự phát triển đó là làm thế nào để quản lý các thông tin trong thư viện một cách tốt nhất và có hiệu quả nhất Em hãy giới thiệu 1 hệ thống quản lý thư viện, đáp ứng được 1 số chức năng cơ bản cần thiết của một hệ thống quản lý thư viện là quản lý tài liệu, độc giả, quản lý cập nhật và quản lý quá trình mượn và trả sách trong thư viện Hệ thống mà em đang giới thiệu tập trung chủ yếu vào quản lý dữ liệu ( tài liệu, bạn đoc ) và quản lý mượn, trả sách
PHÂN TÍCH HỆ THỐNG QUẢN LÝ NHÂN SỰ
Sơ đồ Use – case
HSSV thiết kế được sơ đồ Use – Case như sau gồm danh sách các Actor, danh sách các User – Case được thống kê trong các bảng dưới
Hinh 1 Sơ đồ use-case
Các Actor trong hệ thống quản lí nhân sự được thống kê như bảng dưới
1 Admin - Có quyền cao nhất trong hệ thống
2 Giám đốc - Giám đốc có tất cả các quyền
(role) của người quản lý
- Giám đốc có quyền thống kê báo cáo, nhưng quản lý không có quyền này
3 Quản lí -Dưới quyền Giám đốc
-Có quyền quản lí các chức năng cập nhật dữ liệu cho hệ thống của hệ thống
4 Nhân viên Đội ngũ nhân viên tại đơn vị quản lý
HSSV cần thống kê đủ các các Use – Case Các Use – Case thông dụng cho hệ thống:
Stt Use - Case Ghi chú
2 Thay đổi thông tin cho người dùng Đổi mật khẩu, họ tên, tài khoản mới
3 Quản lí người dùng Phân quyền người dùng, xóa tài khoản…
4 Cập nhật thông tin nhân viên
Thêm, xóa, sửa thông tin một nhân viên
5 Cập nhật trình độ nhân viên
Thêm, xóa, sửa thông tin trình độ
6 Cập nhật ngoai ngữ Thêm, xóa, sửa ngoại ngữ
7 Cập nhật chức vụ Thêm, xóa, sửa chức vụ
8 Cập nhật phòng ban Thêm, xóa, sửa phòng ban
9 Cập nhật chế độ Thêm, xóa, sửa chế độ
10 Cập nhật bảo hiểm Thêm, xóa, sửa bảo hiểm
11 Cập nhật bậc lương Thêm, xóa, sửa bậc lương
12 Cập nhật ngày công Thêm, xóa, sửa ngày công
13 Cập nhật chi tiết Thêm, xóa, sửa chi tiết ngoại ngoại ngữ ngữ
14 Cập nhật chi tiết bảo hiểm
Thêm, xóa, sửa chi tiết bảo hiểm
15 Cập nhật chi tiết chế độ
Thêm, xóa, sửa chi tiết chế độ
16 Cập nhật chi tiết chức vụ
Thêm, xóa, sửa chi tiết chức vụ
Phân tích quản lý nhân sự
Sơ đồ lớp thể hiện được các lớp đối tượng, các lớp quan hệ Thiết kế UML bài toán như sau:
Các đối tượng và quan hệ giữa các đối tượng được thống kê như sau:
STT Tên lớp/quan hệ Ghi chú
1 NhanVien Lưu thông tin của tất cả nhân viên trong công ty
2 PhongBan Lưu thông tin về các phòng ban trong công ty
3 BangCong Cho biết thông tin tiền lương của nhân viên
4 NguoiDung Lưu thông tin người sử dụng phần mềm
5 TrinhĐo Cho biết thông tin về các loại trình độ
6 NgoaiNgu Cho biết thông tin các loại ngoại ngữ
Cho biết thông tin chi tiết về ngoại ngữ của nhân viên
8 ChucVu Cho biết chức vụ của nhân viên
9 NhanVien_ChucVu Cho biết chi tiết chức vụ của nhân viên
10 CheDo Cho biết chế độ của nhân viên
11 NhanVien_CheDo Cho biết chi tiết chế độ của nhân viên
12 BacLuong Cho biết bậc lương của nhân viên
13 BaoHiem Cho biết thông tin bảo hiểm của nhân viên
14 NhanVien_BaoHiem Cho biết chi tiết bảo hiểm
STT Tên lớp/quan hệ Ghi chú
1 NhanVien Lưu thông tin của tất cả nhân viên trong công ty
2 PhongBan Lưu thông tin về các phòng ban trong công ty
3 BangCong Cho biết thông tin tiền lương của nhân viên
2.2 Mô tả các lớp đối tượng
Tên thuộc tính Ràng buộc Ghi chú
MaNV, TenNV, NgaySinh, DiaChi, GioiTinh, MaPB, MaTD, MaBL
Cho biết thông tin của nhân viên
MaTD,TenTD Cho biết trình độ
MaNN,TenNN Liệt kê các loại Ngoại
4 NguoiDung Lưu thông tin người sử dụng phần mềm
5 TrinhĐo Cho biết thông tin về các loại trình độ
6 NgoaiNgu Cho biết thông tin các loại ngoại ngữ
Cho biết thông tin chi tiết về ngoại ngữ của nhân viên
8 ChucVu Cho biết chức vụ của nhân viên
9 NhanVien_ChucVu Cho biết chi tiết chức vụ của nhân viên
10 CheDo Cho biết chế độ của nhân viên
11 NhanVien_CheDo Cho biết chi tiết chế độ của nhân viên
12 BacLuong Cho biết bậc lương của nhân viên
13 BaoHiem Cho biết thông tin bảo hiểm của nhân viên
14 NhanVien_BaoHiem Cho biết chi tiết bảo hiểm
MaPB,TenPB Chứa thông tin về phòng ban
MaNV, NgayCong NhanVien Cho biết thông tin ngày công của nhân viên
Cho biết thông tin người dùng
MaCV,TenCV Cho biết chức vụ của nhân viên
MaBH, TenBH Bảo hiểm của nhân viên
MaNV, MaBH, NgayBD, NgayKT, NoiCap, GhiChu
MaCD, TenCD Chế độ nhân viên
2.3 Sơ đồ chức năng hệ thống thông tin quản lý nhân sự
Hình Sơ đồ chức năng quản lý
Quá trình phân tích hệ thống thông tin cần HSSV phải nắm và thiết kế được sơ đồ chức năng hệ thống quản lý nhân sư Đơn vị cần quản lý các chức năng như hình trên: Chức năng người dùng, chức năng quản lý người dùng, chức năng cập nhật hệ thống thông tin, chức năng thống kê báo cáo, chức năng tra cứu Việc nắm rõ các chức năng sẽ góp phần thành công cho người thực hiện dự án
LUYỆN TẬP: Hãy phân tích sơ đồ Use-case của hệ thống quản lý thư viện
THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG QUẢN LÝ NHÂN SỰ
Thiết kế các mô hình dữ liệu
1.1 Mô hình quan niệm dữ liệu (Conceptual Data Model)
Tiếp sau việc phân tích là thiết kế HTTTQL HSSV cần nắm và thiết kế được mô hình quan niệm dữ cho hệ thống Mô hình thể hiện được các thực thể, mối kết hợp và đảm bảo chuẩn hóa cơ sở dữ liệu
Hình Mô hình quan niệm dữ liệu (Conceptual data model)
1.2 Mô hình dữ liệu logic
Mô hình dữ liệu logic thể hiện các ràng buộc khóa ngoại giữa các thực thể và được thiết kế vào trong các thực thể và cả trong các mối kết hợp Điều này giúp người làm dự án quản lý được tốt hơn về hệ thống
1.3 Mô hình dữ liệu vật lý
Trên mô hình dữ liệu vật lý thể hiện được kiểu dữ liệu của các thuộc tính thực thể Người làm dự án nắm được dung lượng dữ liệu hệ thống thông qua các kiểu dữ liệu này Mô hình dữ liệu vật lý còn thể hiện ràng buộc khoá ngoại rõ ràng hơn các mô hình dữ liệu trước Mô hình này là bước chuẩn bị để cài đặt CSDL lên máy tính
Các kiểu dữ liệu trong sơ đồ vật lý
Quá trình định nghĩa đối tượng dữ liệu có sử dụng các kí tự viết tắt, HSSV nên tuân thủ các qui tắc sau như bảng sau Viết hoa các kí tự đầu mỗi chữ, viết hoa cụm kí tự viết tắt, viết hoa tất cả các kí tự, viết không khoảng trắng giữa các kí tự…
STT Tên bảng Ghi chú
4 NhanVien_ChucVu Chi tiết chức vụ
9 NhanVien_NgoaiNgu Chi tiết ngoại ngữ
11 NhanVien_CheDo Chi tiết chế độ
12 NhanVien_BaoHiem Chi tiết bảo hiểm
Mã nhân viên không được thiết lập giá trị null vì là khóa chính của bảng Tên có thể null Tuy nhiên ta nên thiết lập not null Các trường dữ liệu chứa mã Unicode, ta thiết lập kiểu dữ liệu có tiền tố N phía trước
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) Không được null
2 TenNV nvarchar(50) Không được phép null
3 NgaySinh datetime Được phép null
4 DiaChi nvarchar(50) Được phép null
5 GioiTinh bit Được phép null
6 MaPB varchar(10) Được phép null
7 MaTD varchar(10) Được phép null
8 MaBL varchar(10) Được phép null
STT Thuộc tính Kiểu Ghi chú
1 MaTD varchar(10) Không được null
STT Thuộc tính Kiểu Ghi chú
1 MaNN varchar(10) Không được null
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) Không được null
2 MaNN varchar(10) Không được phép null
3 NgayCap datetime Cho phép null
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) Không được null
2 MaCV varchar(10) Không được null
4 NgayKT datetime Được phép null
STT Thuộc tính Kiểu Ghi chú
1 MaCV varchar(10) Không được null
STT Thuộc tính Kiểu Ghi chú
1 MaPB varchar(10) Không được null
STT Thuộc tính Kiểu Ghi chú
1 MaBH varchar(10) không được null
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) Không được null
2 MaBH varchar(10) Không được phép null
3 NgayBD datetime Được phép null
4 NgayKT datetime Được phép null
6 GhiChu ntext Được phép null
STT Thuộc tính Kiểu Ghi chú
1 MaCĐ varchar(10) Không được null
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) Không được null
2 MaCĐ varchar(10) Không được null
4 NgayKT datetime Được phép null
STT Thuộc tính Kiểu Ghi chú
1 MaBL varchar(10) không được null
2 TenBL nvarchar(50) không được null
2.3 Cài đặt cơ sở dữ liệu Để tạo lập cơ sở dữ liệu trên SQL Server ta có thể dùng mã lệnh Transact-SQL (T- SQL) hoặc dùng chức năng Design của SQL Server
Cách 1: Microsofe SQL Server Management Studio → New Query Cách 2: Objec Explorer → Tên CSDL → nhấn chuột phải lên Table → New Table…
CREATE TABLE [dbo].[NhanVien]( [MaNV] [varchar](10) NOT NULL,
[TenNV] [nvarchar](50) NOT NULL, [NgaySinh] [datetime] NULL, [DiaChi] [nvarchar](50) NULL, [GioiTinh] [bit] NULL,
[MaPB] [varchar](10) NULL, [MaTD] [varchar](10) NULL, [MaBC] [varchar](10) NULL, [MaBH] [varchar](10) NULL, [MaBL] [varchar](10) NULL,
CONSTRAINT [PK_NhanVien] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
STT Thuộc tính Kiểu Ghi chú
1 MaNV varchar(10) không được null
2 NgayCong datetime không được null
STT Thuộc tính Kiểu Ghi chú
1 HoTen nvarchar(50) không được null
2 UserName nvarchar(50) Không được null
3 Pass_Word nvarchar(50) Không được null
CREATE TABLE [dbo].[TrinhDo]( [MaTD] [varchar](10) NOT NULL,
CONSTRAINT [PK_TrinhDo] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[NgoaiNgu]( [MaNN] [varchar](10) NOT NULL,
CONSTRAINT [PK_NgoaiNgu] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[NhanVien_NgoaiNgu]( [MaNV] [varchar](10) NOT NULL, [MaNN] [varchar](10) NOT NULL,
CONSTRAINT [PK_NhanVien_NgoaiNgu] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[ChucVu]( [MaCV] [varchar](10) NOT NULL,
[TenCV] [nvarchar](50) NOT NULL, CONSTRAINT [PK_ChucVu] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[NhanVien_ChucVu]( [MaNV] [varchar](10) NOT NULL, [MaCV] [varchar](10) NOT NULL,
[NgayBD] [datetime] NULL, [NgayKT] [datetime] NULL,
CONSTRAINT [PK_NhanVien_ChucVu] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[CheDo]( [MaCD] [varchar](10) NOT NULL,
CONSTRAINT [PK_CheDo] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[NhanVien_CheDo]( [MaNV] [varchar](10) NOT NULL, [MaCD] [varchar](10) NOT NULL,
[NgayBD] [datetime] NULL, [NgayKT] [datetime] NULL,
CONSTRAINT [PK_NhanVien_CheDo] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[BacLuong]( [MaBL] [varchar](10) NOT NULL,
[TenBL] [nvarchar](50) NOT NULL, [HeSBL] [float] NOT NULL,
CONSTRAINT [PK_BacLuong] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[BangCong]( [MaNV] [varchar](10) NOT NULL,
CONSTRAINT [PK_BangCong] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[PhongBan]( [MaPB] [varchar](10) NOT NULL,
CONSTRAINT [PK_PhongBan] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
CREATE TABLE [dbo].[BaoHiem]( [MaBH] [varchar](10) NOT NULL,
CONSTRAINT [PK_BaoHiem] PRIMARY KEY CLUSTERED
[MaBH] ASC)WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
CREATE TABLE [dbo].[NhanVien_BaoHiem]( [MaNV] [varchar](10) NOT NULL, [MaBH] [varchar](10) NOT NULL,
[NgayBD] [datetime] NULL, [NgayKT] [datetime] NULL, [NoiCap] [nvarchar](50) NULL, [GhiChu] [ntext] NULL,
CONSTRAINT [PK_NhanVien_BaoHiem] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
[HoTen] [nvarchar](50) NOT NULL, [UserName] [nvarchar](50) NOT NULL, [Pass_Word] [nvarchar](50) NOT NULL, [Quyen] [nvarchar](50) NULL, CONSTRAINT [PK_User_1] PRIMARY KEY CLUSTERED
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
2.4 Sơ đồ cơ sở dữ liệu (database diagram)
2.5 Thiết kế kiến trúc quản lý nhân sự:
Kiến trúc hệ thống quản lí nhân sự gồm 3 bộ phận chính: Server, Admin, Client
Kiến trúc đã phân cấp chức năng lưu trữ, quản lí, thao tác dữ liệu
Hinh 5 Kiến trúc hệ thống
Client-Quản lý Người quản lí hệ thống
Client-Admin Người có quyền cao nhất trong hệ thống 2.5.2 Các thành phần trong hệ thống
Hệ thống quản lí nhân sự cần có các giao diện bảo mật, các giao diện truy xuất – cập nhật dữ liệu trên CSDL Phục vụ in ấn, báo cáo ta cần xây dưng các Report Form (Giao diện báo cáo) Xây dựng các file cấu hình hệ thống quản lí nhân sự, các lớp kết nối CSDL
Ta cần xây dựng các lớp kết nối dữ liệu, truyền tải dữ liệu và giao tiếp vời người dùng như lớp Trình Độ, Ngoại Ngữ, Bảng Công, Chức Vụ, Bảo Hiểm, Thông tin Nhân Viên…Cụ thể như sau:
2.6 Thiết kế giao diện quản lý nhân sự
Lớp đối tượng Diễn giải
Resources Dùng để chứa các hình ảnh và icon sử dụng trong phần mềm Program Để khai báo trong hàm main
User Cấp quyền sử dụng phần mềm
Chucvu Để thêm ,chỉnh sửa lại thông tin chức vụ
NgoaiNgu Để thêm,chỉnh sửa lại thông tin ngoại ngữ
TrinhDo Để thêm,chỉnh sửa lại thông tin trình độ
Dataprovider Tạo kết nối đến dữ liệu
BangCong Tính công của nhân viên
NhanVien Thông tin nhân viên
STT Tên màn hình Ghi chú
1 Đăng nhập Để đăng nhập vào hệ thống
2 Màn hình chính Chứa các chức năng của phần mềm
3 Tạo và phân quyền Để tạo tài khoản và tạo quyền truy xuất hệ thống
4 Đổi mật khẩu Để sửa đổi mật khẩu cho người dùng hệ thống
5 Chức vụ Để thêm , xóa, sửa thông tin về chức vụ
6 Trình độ Để thêm, xóa, sửa trình độ của nhân viên
8 Ngoại ngữ Thêm, xóa, sửa thông tin ngoại ngữ nhân viên
9 Nhanviên-Ngoại ngữ Để thêm, xóa, sửa chi tiết ngoại ngữ
10 Phòng ban Để thêm, xóa, sửa phòng ban
11 Nhân viên Để thêm, xóa, sửa thôn tin nhân viên
12 Nhân viên – Chức vụ Để thêm, xóa chi tiết chức vụ nhân
Chương trinh quản lí nhân sự có các chức năng chính như: Phân quyền, quản lí , Trình Độ, Ngày Công, Ngoại Ngữ, Thông tin Nhân Viên, Phòng Ban Ngoài chức năng lưu trữ hệ thống còn đáp ứng nhu cầu tìm kiếm của người dùng như: Tra cứu nhân viên, tra cứu phòng ban….Quan trọng hơn hết hệ thống có khả năng thống kê báo cáo cho người dùng
2.7.Thiết kế form hệ thống
2.7.1.Thiết kế form đăng nhập
Form đăng nhập (Login Form) thường gồm hai textbox: textbox tiếp nhận thông tin tài khoản user và textbox mã bảo mật người dùng Button Login dược thiết kế để xử lí chức năng đăng nhập người dùng
Hinh 7 Giao diện đăng nhập hệ thống quản lý nhân sự
Mã hóa chức năng xử lí của button Login như sau: private void btnLogin_Click(object sender, EventArgs e) sự
13 Bảo hiểm Để thêm, xóa, sửa bảo hiểm nhân sự
14 Nhân viên - Bảo hiểm Để thêm, xóa, sửa chi tiết bảo hiểm nhân sự
15 Bảng công Để quản lý ngày công nhân viên
16 Chế độ Thêm, xóa, sửa chế độ nhân viên
17 Nhân viên – Chế độ Quản lý chi tiết chế độ nhân sự
18 Bậc lương Thêm, xóa, sửa bậc lương nhân viên
19 Tra cứu nhân viên Tìm kiếm nhanh thông tin của nhân viên
20 Tra cứu lương theo tháng
Tìm kiếm nhanh lương theo tháng của nhân viên
21 Báo cáo lương theo tháng
In ấn, xuất file lương nhân sự theo tháng
22 Báo cáo danh sách tổng hợp thông tin nhân sự
In ấn, xuất file danh sách tổng hợp nhân sự
MessageBox.Show("Xin vui lòng nhập đủ thông tin."); return;
} if (KNDL.getDataTable("select * from [User] where
UserName= N'" + txtUserName.Text + "' and Pass_Word=N'" + txtPassWord.Text +
MessageBox.Show("Đăng nhập thành công."); frmMain.Quyen = KNDL.Field("select Quyen from [User] where UserName= N'" + txtUserName.Text + "' and Pass_Word=N'" + txtPassWord.Text + "' "); frmMain f = new frmMain(); f.Show(); this.Hide(); else {
MessageBox.Show("Đăng nhập không thành công."); SetNull();
Dùng phương thức getDataTable của đối tượng KNDL để kiểm tra tài khoản người dùng là hợp lệ hay không
Lấy trường Quyen trong CSDL gán cho thuộc tính stactic Quyen trong frmMain nhằm phân quyền cho hệ thống
Thiết kế form đổi mật khẩu
Người dùng có thể đổi mật khẩu khi không cần thiết sử dụng mật khẩu cũ Form này gồm năm textbox cơ bản: Họ tên truy cập mới, tên đăng nhập cũ, tên đăng nhập mới, mã bảo mật cũ, mã bảo mật mới Ta cần có các button Thay đổi thông tin, Thiết lập để việc đổi mật khẩu được thành công
Hinh 8 Giao diện đổi mật khẩu
34 private void btnThayDoiThongTin_Click(object sender, EventArgs e)
{ if (txtHoTenUserMoi.Text == "" || txtPassWord_Cu.Text == "" || txtPassWord_Moi.Text == "" || txtUserName_Cu.Text == "" || txtUserName_Moi.Text == "") tin.");
MessageBox.Show("Xin vui lòng nhập đủ thông return;
KNDL.ExecuteData("update [User] set HoTen= N'"+txtHo
MessageBox.Show("Xin vui lòng nhập đầy đủ ); return;
KNDL.ExecuteData("insert into [User] (HoTen,
UserName, Pass_Word) values(N'"+txtHoTenUser.Text+"',
MessageBox.Show("Đăng kí thành công."); SetNull(); this.Close();
MessageBox.Show("Tên đăng nhập đã tồn tại.");
} Đăng kí là việc chèn vào CSDL tại bảng User một dòng dữ liệu mới ( record) tương ứng với thông tin mà người dùng cung cấp
Ta viết thêm đoạn mã kiểm tra dữ liệu đăng kí đã nhập vào điều khiển hay chưa
2.7.3.Thiết kế form quản lý người dùng
Form này dùng cho người sử dụng là admin nhằm quản lý các user Trên form cho phép cập nhật và cấp quyền cho người dùng sau khi đăng kí tài khoản hệ thống
Mã hóa các chức năng xử lý trên form
36 using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace EmployeeManagement
{ public partial class frmQuanLiUser : Form
KetNoiDuLieu KNDL = new KetNoiDuLieu(); bool themMoi; void HienThiDuLieuLenLuoi()
{ dgvUser.DataSource = KNDL.getDataTable("select * from [User]");
{ txtTenNguoiDung.Text = ""; txtUserName.Text = ""; txtPassWord.Text = ""; cbQuyen.Text = "";
{ txtPassWord.Enabled = false; txtTenNguoiDung.Enabled = false; txtUserName.Enabled = false; cbQuyen.Enabled = false; btnLuu.Enabled false; btnThem.Enabled = true; btnSua.Enabled = true; btnXoa.Enabled true;
{ txtPassWord.Enabled = true; txtTenNguoiDung.Enabled = true; txtUserName.Enabled = true; cbQuyen.Enabled = true; btnLuu.Enabled = true; btnThem.Enabled = false; btnSua.Enabled = false; btnXoa.Enabled = false; } private void frmQuanLiUser_Load(object sender, EventArgs e)
} private void btnHuy_Click(object sender, EventArgs e)
} private void dgvUser_CellClick(object sender, DataGridViewCellEventArgs e) { try
{ txtTenNguoiDung.Text dgvUser.Rows[e.RowIndex].Cells[0].Value.ToString(); txtUserName.Text dgvUser.Rows[e.RowIndex].Cells[1].Value.ToString(); txtPassWord.Text dgvUser.Rows[e.RowIndex].Cells[2].Value.ToString(); cbQuyen.Text = dgvUser.Rows[e.RowIndex].Cells[3].Value.ToString();
} private void btnThem_Click(object sender, EventArgs e)
SetNull(); MoDieuKhien(); txtTenNguoiDung.Focus(); themMoi = true;
} private void btnSua_Click(object sender, EventArgs e)
SetNull(); MoDieuKhien(); txtTenNguoiDung.Focus(); txtPassWord.Enabled = false; txtUserName.Enabled = false; themMoi = false; } private void btnLuu_Click(object sender, EventArgs e)
38 if(txtTenNguoiDung.Text==""||txtUserName.Text==""|| txtPassWord.Text=="") {
MessageBox.Show("Xin vui lòng nhập đủ thông tin”); return;
KNDL.ExecuteData("insert into [User] values(N'"
+ txtTenNguoiDung.Text + "',N'" + txtUserName.Text + "',N'" + txtPassWord.Text + "',N'" + cbQuyen.Text+ "')");
MessageBox.Show("Đã thêm thành công.");
KNDL.ExecuteData("update [User] set HoTen= N'" + txtTenNguoiDung.Text + "', Quyen= N'" + cbQuyen.Text + "' where UserName= N'" + txtUserName.Text +
MessageBox.Show("Đã sửa thành công.");
} private void btnXoa_Click(object sender, EventArgs e)
{ if (txtTenNguoiDung.Text == "" || txtUserName.Text
MessageBox.Show("Xin vui lòng nhập đủ thông tin”); return;
KNDL.ExecuteData("delete from [User] where
MessageBox.Show("Đã xóa thành công.");
2.8 Thiét kế các Form cập nhật dữ liệu hệ thống
Hinh 10 Giao diện Cập Nhật Dữ Liệu Hệ Thống
2.8.2 Thiết kế form Thông Tin Nhân Viên
Form có chức năng thêm mới, sửa, xóa thông tin nhân viên
Hinh 11 Giao diện Thông Tin Nhân Viên
Mã hóa các chức năng trên form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace EmployeeManagement
{ public partial class frmNhanVien : Form public frmNhanVien()
KetNoiDuLieu KNDL = new KetNoiDuLieu(); bool themMoi; void SetNull()
{ txtMaNV.Text = ""; txtTenNV.Text=""; dtpNgaySinh.Text = ""; txtDC.Text = ""; cbGioiTinh.Text = ""; cbMaPB.Text = ""; cbMaTD.Text = ""; cbMaBL.Text "";
{ txtMaNV.Enabled = false; txtTenNV.Enabled = false; txtDC.Enabled = false; dtpNgaySinh.Enabled = false; cbGioiTinh.Enabled = false; cbMaBL.Enabled false; cbMaPB.Enabled = false; cbMaTD.Enabled = false; btnLuu.Enabled = false; btnThem.Enabled = true; btnSua.Enabled = true; btnXoa.Enabled = true;
{ txtMaNV.Enabled = true; txtTenNV.Enabled = true; txtDC.Enabled = true; dtpNgaySinh.Enabled = true; cbGioiTinh.Enabled = true; cbMaBL.Enabled true; cbMaPB.Enabled = true; cbMaTD.Enabled = true; btnLuu.Enabled = true; btnThem.Enabled = false; btnSua.Enabled = false; btnXoa.Enabled = false;
DataSou rce KNDL.getDataTable("select * from cbMaPB.DisplayMember = "MaPB"; cbMaPB.ValueMember = "MaPB"; void HienThiDuLieuLenCBTrinhDo()
TrinhDo"); cbMaTD.DataSource = KNDL.getDataTable("select * from cbMaTD.DisplayMember = "MaTD"; cbMaTD
} cbMaBL.DataSource = KNDL.getDataTable("select * from cbMaBL.DisplayMember = "MaBL"; cbMaBL.ValueMember = "MaBL"; void HienThiDuLieuLenLuoi()
{ dgvNV.DataSource = KNDL.getDataTable("select MaNV, TenNV, NgaySinh, DiaChi, (case when GioiTinh= 'True' then 'Nam' else N'Nữ' end)as GioiTinh, MaPB, MaTD, MaBL from NhanVien");
} private void frmNhanVien_Load(object sender, EventArgs e)
} private void dgvNV_CellClick(object sender, DataGridViewCellEventArgs e) { try
THỬ PHẦN MỀM QUẢN LÝ NHÂN SỰ
Thiết kế xây dựng và triển khai ứng dụng
Môi trường xây dựng và phát triển ứng dụng
+ Xây dựng và triển khai trên các hệ điều hảnh : Windows XP, Microsoft Win
+ Dùng các hệ quản trị cơ sở dữ liệu: Microsoft SQL Express 2008…
+ Có thể dùng các ngôn ngữ lập trình Visual C#, VB, java, …
Môi trường triển khai ứng dụng
+ Hệ điều hành :Microsoft Windows,…
+ Cần cài đặt : Net Framework 3.5, 4.0…
Phần mềm phân tích thiết kế : Rational Rose hoặc Visual Paradigm for UML …
Kết quả thực hiện
Khảo sát và tìm hiểu được bài toán quản lý nhân sự
Phân tích được hệ thống quản lí nhân sự gồm: Dữ liệu, chức năng, luồng dữ liệu, thiết kế các thực thể, thuộc tính thực thể, chuẩn hóa cơ sở dữ liệu
Thiết kế và cài đặt hệ thống quản lí nhân sự: Thiết kế được cơ sở dữ liệu, thiết kế được các form chương trình, lập trình xử lí các button lệnh, xây dưng các báo cáo thống kê
Mở rộng phạm vi quản lí của chương trình
Hoàn thiện quá trình triển khai ứng dụng trên hệ thống mạng cục bộ
Em hãy kiểm thử và chạy chương trình phần mềm quản lý thư viện