Đề tài Phần mềm quản lý nhân sự và tiền lương
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Phần mềm quản lý nhân sự và tiền lương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- de_tai_phan_mem_quan_ly_nhan_su_va_tien_luong.pdf
Nội dung text: Đề tài Phần mềm quản lý nhân sự và tiền lương
- LỜI CẢM ƠN 5 TÓM TẮT KHÓA LUẬN 6 1. Vấn đề nghiên cứu: 7 2. Hƣớng tiếp cận & giải quyết vấn đề: 7 3. Kết quả đạt đƣợc: 7 NỘI DUNG KHÓA LUẬN 8 LỜI MỞ ĐẦU 8 1. Lý do chọn đề tài: 9 2. Mục đích, đối tƣợng, phạm vi nghiên cứu: 9 CHƢƠNG 1: KHẢO SÁT HIỆN TRẠNG 10 1.1. Hiện trạng tổ chức: 11 1.2. Hiện trạng tin học: 11 1.3. Hiện trạng nghiệp vụ: 11 1.3.1. Quy trình làm việc giữa các bộ phận nhân sự - tiền lƣơng: 11 1.3.2. Quy trình chấm công: 11 1.3.3. Quy trình tính lƣơng: 12 CHƢƠNG 2: MÔ TẢ BÀI TOÁN VÀ CÁCH GIẢI QUYẾT VẤN ĐỀ 13 2.1. Mô tả bài toán: 14 2.2. Yêu cầu chức năng, phi chức năng: 15 2.2.1. Yêu cầu chức năng : 15 2.2.2. Yêu cầu phi chức năng: 16 2.3. Phƣơng pháp tiếp cận giải quyết vấn đề: 16 CHƢƠNG 3: PHÂN TÍCH 17 3.1. Nhận diện Actor, mục tiêu từng Actor: 18 3.2. Sơ đồ Use-case: 19 3.3. Mô tả các use-case: 19 3.3.1. Use-case 1: đăng nhập 20 3.3.2. Use-case 2: Đổi mật khẩu 20 3.3.3. Use-case 3: Quản lý chức năng 21 3.3.4. Use-case 4: Quản lý nhóm chức năng 22 3.3.5. Use-case 5: Quản lý ngƣời dùng 23 3.3.6. Use-case 6: Phân quyền 25 3.3.7. Use-case 7: Quản lý thông tin nhân viên 25 3.3.8. Use-case 8: Quản lý thông tin hợp đồng 27 3.3.9. Use-case 9: Quản lý thông tin công tác 28 1
- 3.3.10. Use-case 10: Quản lý thông tin thôi việc 28 3.3.11. Use-case 11: Chấm công nhân viên 30 3.3.12. Use-case 12: Quản lý diễn biến lƣơng căn bản 31 3.3.13. Use-case 13: Tổng hợp lƣơng 31 3.4. Domain model: 33 3.5. Mô tả các lớp trong Domain Model: 34 3.5.1. Lớp NS_CongTacHienTai: 34 3.5.2. Lớp NS_TTGiaDinh: 34 3.5.3. Lớp NS_HopDong: 34 3.5.4. Lớp NS_NhanVien: 35 3.5.5. Lớp NS_HoatDongNhanVien: 35 3.5.6. Lớp CC_ChamCong: 35 3.5.7. Lớp CC_TongHopCong: 36 3.5.8. Lớp TL_DienBienLuong: 36 3.5.9. Lớp NS_TTThoiViec: 36 3.5.10. Lớp TL_TongHopLuong: 37 3.5.11. Lớp NS_KhenThuongKyLuat: 37 3.6. Sơ đồ tuần tự hệ thống – System sequence diagram: 38 3.6.1. Đăng nhập: 38 3.6.2. Đổi mật khẩu: 38 3.6.3. Quản lý chức năng: 39 3.6.4. Quản lý nhóm chức năng: 39 3.6.5. Quản lý ngƣời dùng: 40 3.6.6. Phân quyền: 40 3.6.7. Quản lý thông tin nhân viên: 40 3.6.8. Quản lý thông tin hợp đồng: 41 3.6.9. Quản lý thông tin công tác: 41 3.6.10. Quản lý thông tin thôi việc: 42 3.6.11. Chấm công nhân viên: 42 3.6.12. Quản lý diễn biến lƣơng căn bản: 43 3.6.13. Tổng hợp lƣơng: 43 CHƢƠNG 4: THIẾT KẾ 45 4.1. Sơ đồ tuần tự - Sequence Diagram: 45 4.1.1. Thêm nhân viên: 46 4.1.2. Chuyển công tác: 46 2
- 4.2. Sơ đồ lớp – Class Digram: 46 4.3. Thiết kế kiến trúc ứng dụng: 47 4.4. Thiết kế cơ sở dữ liệu: 49 4.4.1. Sơ đồ quan hệ cơ sở dữ liệu: 50 4.4.2. Mô tả các bảng: 51 4.4.2.1. Bảng HT_CauHoiBiMat : 51 4.4.2.2. Bảng HT_ChucNang : 52 4.4.2.3. Bảng HT_NguoiDung : 52 4.4.2.4. Bảng HT_PhanQuyen : 53 4.4.2.5. Bảng NS_CongTacHienTai: 53 4.4.2.6. Bảng NS_HoatDongNhanVien: 54 4.4.2.7. Bảng HT_NhomChucNang : 55 4.4.2.8. Bảng NS_KhenThuongKyLuat: 55 4.4.2.9. Bảng NS_HopDong: 56 4.4.2.10. Bảng NS_LichSuNhanVien: 57 4.4.2.11. Bảng NS_NhanVien: 58 4.4.2.12. Bảng NS_TTGiaDinh: 59 4.4.2.13. Bảng NS_TTThoiViec: 60 4.4.2.14. Bảng CC_ChamCong : 61 4.4.2.15. Bảng CC_TongHopCong : 62 4.4.2.16. Bảng TL_DienBienLuong : 63 4.4.2.17. Bảng TL_TongHopLuong : 64 4.4.2.18. Bảng DM_CaLamViec : 65 4.4.2.19. Bảng DM_ChucVu: 66 4.4.2.20. Bảng DM_CongTy: 66 4.4.2.21. Bảng DM_DanhMuc: 66 4.4.2.22. Bảng DM_DanToc: 67 4.4.2.23. Bảng DM_LoaiHopDong: 67 4.4.2.24. Bảng DM_LoaiQuanHe: 67 4.4.2.25. Bảng DM_LoaiTien: 68 4.4.2.26. Bảng DM_NganHang: 68 4.4.2.27. Bảng DM_NgayLe : 68 4.4.2.28. Bảng DM_NgayNghi : 69 4.4.2.29. Bảng DM_PhongBan: 69 4.4.2.30. Bảng DM_PhuCap : 69 3
- 4.4.2.31. Bảng DM_QuanHuyen: 70 4.4.2.32. Bảng DM_QuocTich: 70 4.4.2.33. Bảng DM_TinhThanh: 70 4.4.2.34. Bảng DM_TinhTrangHonNhan: 71 4.4.2.35. Bảng DM_TonGiao: 71 4.4.2.36. Bảng DM_ToNhom: 71 4.5. Thiết kế giao diện: 72 4.5.1. Thiết kế màn hình chính: 72 4.5.2. Giao diện 1 số màn hình khác: 73 CHƢƠNG 5: CÀI ĐẶT, ĐÁNH GIÁ KẾT QUẢ VÀ HƢỚNG PHÁT TRIỂN 79 1.1. Môi trƣờng cài đặt: 80 1.2. Đánh giá kết quả: 80 1.3. Hƣớng phát triển: 80 LỜI KẾT 81 4
- LỜI CẢM ƠN Lời đầu tiên nhóm thực hiện xin chân thành cảm ơn quý Thầy Cô Khoa Công Nghệ Thông Tin Trƣờng Cao Đẳng Nguyễn Tất Thành đã tận tình giúp đỡ và truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập ở trƣờng. Nhóm thực hiện xin cảm ơn thầy Giang Hào Côn và anh Chu Xuân Thiện đã tận tình hƣớng dẫn và giúp đỡ chúng em trong suốt quá trình thực hiện luận văn này. Bên cạnh đó nhóm thực hiện cũng xin cảm ơn gia đình, bạn bè đã quan tâm giúp đỡ, động viên và tạo điều kiện cho nhóm thực hiện hoàn thành luận văn này. Nhóm thực hiện xin chân thành cảm ơn Phan Tấn Quang Nam Đoàn Trọng Tuấn 5
- TÓM TẮT KHÓA LUẬN 1. Vấn đề nghiên cứu 2. Hƣớng tiếp cận và giải quyết vấn đề 3. Kết quả đạt đƣợc 6
- 1. Vấn đề nghiên cứu: Nhân sự là yếu tố quyết định sự thành bại của mỗi doanh nghiệp và cũng là tài sản quý giá nhất của mỗi doanh nghiệp nhƣng việc tuyển chọn, quản lý và phát triển nguồn lực một cách tốt nhất không bao giờ đơn giản. Tính toán tổng giờ công, ngày công, tính toán lƣơng, quản lý và sử dụng ngân sách nhân sự tiền lƣơng sao cho hiệu quả cũng là một thách thức lớn đối với doanh nghiệp. Phần mềm quản lý nhân sự tiền lƣơng sẽ làm cho nghệ thuật quản lý nhân sự và tiền lƣơng trở nên đơn giản, hiệu quả và khoa học hơn bao giờ hết. 2. Hƣớng tiếp cận & giải quyết vấn đề: Khóa luận đƣợc thực hiện theo phƣơng pháp: - Khảo sát yêu cầu tại Công ty Cổ phần công nghệ Thái Bình Dƣơng và Công ty TNHH Mainetti Việt Nam. - Sử dụng phƣơng pháp phân tích & thiết kế hƣớng đối tƣợng để mô tả và phân tích phần mềm. - Thiết kế cơ sở dữ liệu trên SQL Server 2005. - Thiết kế và cài đặt phần mềm bằng ngôn ngữ C#, sử dụng phần mềm Visual Studio 2005. 3. Kết quả đạt đƣợc: Sau khi hoàn thành, kết quả đạt đƣợc: - Phần mềm quản lý nhân sự và tiền lƣơng. - Báo cáo về phân tích, thiết kế phần mềm. 7
- NỘI DUNG KHÓA LUẬN LỜI MỞ ĐẦU 1. Lý do chọn đề tài 2. Mục đích, đối tƣợng, phạm vi nghiên cứu 8
- 1. Lý do chọn đề tài: Đối với mỗi doanh nghiệp, con ngƣời là nguồn lực cốt lõi của tổ chức, là yếu tố then chốt để đi tới thành công. Vấn đề đặt ra là làm thế nào có thể quản lý đƣợc nguồn lực này một cách hiệu quả. Để đáp ứng nhu cầu quản lý nhân sự của các doanh nghiệp có số lƣợng nhân viên lớn, đảm bảo việc tính lƣơng cho nhân viên một cách chính xác nhanh chóng với đầy đủ các yếu tố động, chúng tôi xây dựng phần mềm quản lý nhân sự và tiền lƣơng. Chúng tôi chọn đề tài này với mong muốn trang bị cho bản thân kinh nghiệm phân tích thiết kế cũng nhƣ chuyên môn nghiệp vụ khi rời ghế nhà trƣờng. 2. Mục đích, đối tƣợng, phạm vi nghiên cứu: Phần mềm Quản lý Nhân sự - Tiền lƣơng đƣợc thiết kế và xây dựng dựa trên các nhu cầu quản lý của các đơn vị doanh nghiệp, các công ty có số lƣợng nhân viên lớn, nhu cầu tính lƣơng phức tạp và có các yếu tố tính lƣơng động thƣờng thay đổi theo điều kiện sản xuất, một cách nhanh chóng tức thời và chính xác. 9
- CHƢƠNG 1: KHẢO SÁT HIỆN TRẠNG 1.1. Hiện trạng tổ chức 1.2. Hiện trạng tin học 1.3. Hiện trạng nghiệp vụ 10
- 1.1. Hiện trạng tổ chức: Khảo sát hiện trạng tại Công ty TNHH Mainetti Việt Nam. MAINETTI VIỆT NAM AN TOÀN LAO XUẤT NHẬP KHẨU XƯỞNG SẢN XUẤT CỐ VẤN BAN GIÁM ĐỐC DỰ ÁN KẾ HOẠCH VẬT TƯ KẾ TOÁN TÀI VỤ QUẢN LÝ SẢN XUẤT ĐỘNG Hình 1: Sơ đồ một số phòng ban chính 1.2. Hiện trạng tin học: Hiện tại, cơ quan đƣợc trang bị máy tính với cấu hình cao (Pentium IV, RAM trung bình 1GB, ổ cứng trung bình 80GB, ), kết nối mạng LAN, kết nối Internet. 1.3. Hiện trạng nghiệp vụ: Mô tả quy trình nghiệp vụ: 1.3.1. Quy trình làm việc giữa các bộ phận nhân sự - tiền lƣơng: - Sự kiện kích hoạt quy trình: nhân viên phòng nhân sự thực hiện cập nhật mới nhân viên và có sự trao đổi thông tin giữa các phòng ban. - Khi nhân viên mới vào, bộ phận nhân sự sẽ nhập thông tin hồ sơ nhân viên này vào hệ thống (tạo thông tin hợp đồng). - Bộ phận nhân sự cũng có thể cập nhật lại các thông tin nhân viên, chuyển nhân viên sang phòng ban khác, cập nhật lại chức vụ, thuyên chuyển, điều chuyển - Quản lý thông tin thay đổi hợp đồng, gia hạn, thay đổi loại hợp đồng. 1.3.2. Quy trình chấm công: - Chấm công theo phƣơng thức: chấm công tay. - Cập nhật dữ liệu nghỉ, làm ngoài giờ của nhân viên từ các bản giấy nhân viên gởi về đã có sự phê duyệt của ngƣời quản lý tƣơng ứng. - Dữ liệu chấm công sẽ là thông tin tham chiếu tính toán số giờ công thực tế và số giờ làm ngoài giờ của nhân viên, từ đó làm cơ sở để tính lƣơng. 11
- 1.3.3. Quy trình tính lƣơng: - Nhân viên tính lƣơng cập nhật thông tin dữ liệu lƣơng cho nhân viên (diễn biến lƣơng, phụ cấp, điều chỉnh ). - Tổng hợp thông tin từ dữ liệu lƣơng, dữ liệu chấm công và các khoản lƣơng đã đƣợc thiết lập cùng với công thức tƣơng ứng, ngƣời dùng tổng hợp tính toán lƣơng cho nhân viên và thực hiện tất cả các báo cáo lƣơng theo nhu cầu. 12
- CHƢƠNG 2: MÔ TẢ BÀI TOÁN VÀ CÁCH GIẢI QUYẾT VẤN ĐỀ 2.1. Mô tả bài toán 2.2. Yêu cầu chức năng, phi chức năng 2.3. Phƣơng pháp tiếp cận, giải quyết vấn đề 13
- 2.1. Mô tả bài toán: Việc tin học hoá tổ chức quản lý nhân sự mang lại nhiều lợi ích hơn so với quản lý thủ công. Quản lý thông tin về cán bộ, công nhân viên là một bài toán quan trọng và có nhiều ứng dụng trong việc quản lý nguồn nhân lực, chính sách cán bộ nhằm đƣa ra các quyết định trong l nh vực xây dựng đội ngũ lao động đủ khả năng và trình độ đáp ứng các nhu cầu trong giai đoạn mới. Phần mềm Quản lý nhân sự và tiền lƣơng đƣợc thiết kế và xây dựng dựa trên các nhu cầu quản lý của các đơn vị doanh nghiệp, các công ty có số lƣợng nhân viên lớn, nhu cầu tính lƣơng phức tạp và có các yếu tố tính lƣơng động thƣờng thay đổi theo điều kiện sản xuất, một cách nhanh chóng tức thời và chính xác - Bộ máy quản lý nhân sự gọn nhẹ, chỉ cần số ít nhân viên với hệ thống máy vi tính. - Tổ chức quản lý, lƣu trữ trên hệ thống máy vi tính làm tăng tính an toàn, bảo mật cao hơn. - Phù hợp với các ứng dụng triển khai trên diện rộng. - Chi phí ban đầu ít nhất vì chỉ phải triển khai trên máy chủ. - Dễ dàng phát triển ứng dụng, tất cả các dịch vụ chỉ phải triển khai trên máy chủ, do vậy dễ dàng bảo trì, phát triển hệ thống. - Không phụ thuộc vào phạm vi ứng dụng. Việc mở rộng ít tốn kém nhất. - Đào tạo sử dụng chƣơng trình ít tốn kém nhất. Với phần mềm Quản lý nhân sự tiền lƣơng ngƣời quản lý có thể nhanh chóng truy xuất bất kỳ một hồ sơ nhân viên nào với đầy đủ các thông tin, hình ảnh chỉ bằng một vài thao tác nhấp chuột. Dễ dàng thuyên chuyển và thay đổi nhân sự trong các phòng ban khi cần thiết. Giao diện màn hình nhập liệu đẹp, tạo cảm giác thân thiện và dễ chịu khi thao tác nhập liệu và vận hành chƣơng trình. Mềm dẻo, linh hoạt tham số hoá cao để có thể điều chỉnh không chỉ phù hợp với yêu cầu hiện tại của doanh nghiệp mà còn sẵn sàng cho các yêu cầu của sự phát triển trong tƣơng lai. 14
- Quản lý toàn bộ thông tin nhân sự, thông tin lƣơng và phụ cấp lƣơng theo quy định của nhà nƣớc và các chỉ tiêu cụ thể của từng doanh nghiệp Hầu hết các báo cáo đều có thể in theo việc chỉ định khoảng thời gian: ngày, tháng, quý, năm, từ ngày đến ngày và có thể in lại chính xác số liệu quá khứ. 2.2. Yêu cầu chức năng, phi chức năng: 2.2.1. Yêu cầu chức năng : Hiện nay các đơn vị xử lý số liệu thủ công, tất cả các hồ sơ đƣợc lƣu trên bản cứng , lƣu trên các bảng Excel hoặc các chƣơng trình quản lý nhân sự rời rạc, vì thế dữ liệu khó kiểm soát, rất dễ xảy ra sai sót, chậm trễ. Vì thế các doanh nghiệp có rất nhiều yêu cầu đặt ra: Nhân viên: - Đánh giá đƣợc chính xác nguồn lực vào bất kỳ thời điểm nào. - Lƣu trữ đầy đủ tất cả các thông tin về nhân viên. - Theo dõi sát sao toàn bộ chế độ chính sách của cán bộ công nhân viên. - Quản lý chặt chẽ hợp đồng lao động (hết hạn, chuyển đổi, thanh lý). - Ghi nhận tất cả thông tin về quá trình công tác của nhân viên (thuyên chuyển, thăng tiến, ). - Theo dõi, đánh giá hiệu quả công việc của nhân viên. - Phân tích đƣợc kiến thức, kỹ năng còn yếu của nhân viên. Quản lý ngày công lao động: - Quản lý ngày nghỉ của nhân viên. - Kiểm soát giờ công, công ngoài giờ, hiện diện cá nhân Tính toán lƣơng đãi ngộ: - Thiết lập công thức tính lƣơng một cách linh động. - Theo dõi diễn biến chế độ chính sách của nhân viên. - Thực hiện các quyết toán thuế. 15
- Hệ thống thông tin: - Báo cáo tức thời theo yêu cầu nghiệp vụ. - Thông tin báo cáo theo phân cấp, khu vực quản lý. - Báo cáo định kỳ cho các sở ban nhà nƣớc. 2.2.2. Yêu cầu phi chức năng: - Đảm bảo hệ thống hoạt động ổn định và có thể bảo trì theo yêu cầu của công ty. - Giao diện thân thiện, dễ sử dụng. 2.3. Phƣơng pháp tiếp cận giải quyết vấn đề: Khóa luận đƣợc thực hiện theo phƣơng pháp: -Khảo sát yêu cầu tại Công ty Cổ phần công nghệ Thái Bình Dƣơng và Công ty TNHH Mainetti Việt Nam. -Sử dụng phƣơng pháp Phân tích và thiết kế hƣớng đối tƣợng để mô tả và phân tích phần mềm. -Thiết kế cơ sở dữ liệu trên SQL Server 2005. - Thiết kế và cài đặt phần mềm bằng ngôn ngữ C# bằng phần mềm Visual Studio 2005. 16
- CHƢƠNG 3: PHÂN TÍCH 3.1. Nhận diện Actor, mục tiêu từng Actor 3.2. Sơ đồ Use-case 3.3. Mô tả các Use-case 3.4. Sơ đồ Domain Model 3.5. Mô tả các lớp trong Domain Model 3.6. Sơ đồ tuần tự hệ thống – System Sequence Diagram 17
- 3.1. Nhận diện Actor, mục tiêu từng Actor: Actor Mục tiêu Ngƣời dùng - Đăng nhập. - Đổi mật khẩu. Nhân viên quản trị hệ thống - Quản lý chức năng. - Quản lý nhóm chức năng. - Quản lý ngƣời dùng - Phân quyền. Nhân viên quản trị nhân sự - Quản lý thông tin nhân viên. - Quản lý thông tin hợp đồng. - Quản lý thông tin công tác. - Quản lý thông tin thôi việc. Nhân viên tính lƣơng - Chấm công nhân viên. - Quản lý diễn biến lƣơng cơ bản. - Tổng hợp lƣơng. 18
- 3.2. Sơ đồ Use-case: Hình 2: Sơ đồ use-case 3.3. Mô tả các use-case: 19
- 3.3.1. Use-case 1: đăng nhập a. Use-case name: đăng nhập. b. Actor: ngƣời dùng. c. Pre-conditions: d. Post-conditions: ngƣời dùng đƣợc hệ thống nhận diện và ủy quyền sử dụng. e. Main success scenario: 1. Ngƣời dùng khởi động hệ thống. 2. Hệ thống yêu cầu ngƣời dùng cung cấp thông tin đăng nhập. 3. Ngƣời dùng cung cấp thông tin đăng nhập. 4. Hệ thống xác nhận thông tin đăng nhập và xử lý. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay lại trạng thái ban đầu. 3a. Ngƣời dùng không nhập tên đăng nhập/mật khẩu: - Hệ thống thông báo “Bạn chƣa nhập tên đăng nhập/mật khẩu”. - Ngƣời dùng quay lại nhập tên đăng nhập/mật khẩu. 4a. Ngƣời dùng nhập không đúng thông tin đăng nhập: - Hệ thống thông báo “Thông tin đăng nhập không chính xác”. - Use-case quay lại bƣớc 3. 4b. Tài khoản ngƣời dùng bị khóa: - Hệ thống thông báo “Tài khoản của bạn tạm thời đang bị khóa, vui lòng liên hệ nhân viên quản trị hệ thống!!!” - Use-case quay lại bƣớc 1. 4a. Ngƣời dùng chọn nút thoát: Thoát khỏi chƣơng trình. 3.3.2. Use-case 2: Đổi mật khẩu 20
- a. Use-case name: đổi mật khẩu. b. Actor: ngƣời dùng. c. Pre-conditions: ngƣời dùng đƣợc hệ thống nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: mật khẩu thay đổi thành công. e. Main success scenario: 1. Ngƣời dùng yêu cầu chức năng đổi mật khẩu. 2. Hệ thống yêu cầu ngƣời dùng nhập thông tin: nhập mật khẩu cũ, nhập mật khẩu mới, xác nhận mật khẩu mới. 3. Ngƣời dùng nhập thông tin yêu cầu. 4. Hệ thống kiểm tra và ghi nhận mật khẩu mới. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Ngƣời dùng nhập thiếu thông tin yêu cầu: - Hệ thống thông báo lỗi tại trƣờng thiếu thông tin. - Ngƣời dùng quay lại nhập thông tin thiếu. 3b. Ngƣời dùng xác nhận mật khẩu mới không trùng khớp: - Hệ thống thông báo lỗi tại trƣờng xác nhận mật khẩu mới. - Ngƣời dùng nhập lại xác nhận mật khẩu mới. 3c. Ngƣời dùng chọn nút “Thoát”: - Hệ thống hủy bỏ thao tác và không thay đổi mật khẩu. 4a. Ngƣời dùng nhập thông tin yêu cầu không chính xác: - Hệ thống thông báo lỗi tại trƣờng thông tin không chính xác. - Ngƣời dùng quay lại nhập thông tin không chính xác. 3.3.3. Use-case 3: Quản lý chức năng 21
- a. Use-case name: quản lý chức năng. b. Actor: nhân viên quản trị hệ thống. c. Pre-conditions: nhân viên quản trị hệ thống đƣợc hệ thống nhận diện và ủy quyền sử dụng. d. Post-conditions: thêm, xóa, sửa, kích hoạt, chuyển đổi chức năng sang nhóm chức năng khác, tạm ngƣng sử dụng các chức năng hệ thống. e. Main success scenario: 1. Nhân viên quản trị hệ thống yêu cầu chức năng quản lý chức năng. 2. Hệ thống hiển thị các thông tin chức năng. 3. Nhân viên quản trị hệ thống thực hiện quản lý chức năng cần xử lý. 4. Hệ thống ghi nhận và xử lý. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 4a. Nhân viên quản trị hệ thống tạm ngƣng chức năng đang đƣợc ngƣời dùng khác sử dụng: - Ngƣời dùng đang sử dụng vẫn đƣợc sử dụng chức năng đó đến khi thoát khỏi chức năng. - Chức năng đó sẽ bị khóa đến khi nào nhân viên quản trị hệ thống kích hoạt lại. 3.3.4. Use-case 4: Quản lý nhóm chức năng 22
- a. Use-case name: quản lý nhóm chức năng. b. Actor: nhân viên quản trị hệ thống. c. Pre-conditions: nhân viên quản trị hệ thống đƣợc hệ thống nhận diện và ủy quyền sử dụng. d. Post-conditions: thêm, xóa, sửa nhóm chức năng. e. Main success scenario: 1. Nhân viên quản trị hệ thống yêu cầu chức năng quản lý nhóm chức năng. 2. Hệ thống hiển thị các thông tin của nhóm chức năng. 3. Nhân viên quản trị hệ thống thực hiện thêm nhóm chức năng. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Nhân viên quản trị hệ thống xóa nhóm chức năng đang có chức năng phụ thuộc vào: - Hệ thống báo lỗi. - Hủy bỏ thao tác xóa nhóm chức năng. 3.3.5. Use-case 5: Quản lý ngƣời dùng a. Use-case name: quản lý ngƣời dùng. b. Actor: nhân viên quản trị hệ thống. c. Pre-conditions: Nhân viên quản trị hệ thống đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: thêm, xóa, sửa, tạm ngƣng, kích hoạt, gán quyền cho tài khoản ngƣời dùng. e. Main success scenario: 23
- 1. Nhân viên quản trị hệ thống chọn chức năng thêm ngƣời dùng. 2. Hệ thống hiển thị chức năng thêm ngƣời dùng và yêu cầu nhân viên quản trị hệ thống nhập các thông tin của ngƣời dùng. 3. Nhân viên quản trị hệ thống nhập các thông tin ngƣời dùng mới. 4. Hệ thống kiểm tra, ghi nhận thông tin đã đƣợc xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Nhân viên chọn chức năng Sửa tài khoản ngƣời dùng: 1. Hệ thống yêu cầu nhân viên nhập thông tin tài khoản ngƣời dùng. 2. Nhân viên nhập thông tin và chọn nút “Lƣu”. 3. Hệ thống kiểm tra thông tin hợp lệ và ghi nhận. 2a. Nhân viên nhập thông tin không hợp lệ (không đầy đủ tại các trƣờng bắt buộc hoặc không đúng): - Hệ thống thông báo tại các trƣờng không hợp lệ. - Nhân viên nhập lại các thông tin không hợp lệ. - Hệ thống kiểm tra và ghi nhận thông tin. 3b. Nhân viên chọn chức năng Xóa/Tạm ngƣng/Kích hoạt tài khoản ngƣời dùng: 1. Nhân viên chọn ngƣời dùng cần xóa và nhấn nút “Xóa”/”Tạm ngƣng”/”Kích hoạt”. 2. Hệ thống thông báo “Bạn có muốn xóa/tạm ngƣng/kích hoạt tài khoản này không”. 3. Nhân viên chọn nút “Có”. 4. Hệ thống xóa/tạm ngƣng/kích hoạt tài khoản ngƣời dùng đƣợc chọn. 24
- 3.3.6. Use-case 6: Phân quyền a. Use-case name: phân quyền. b. Actor: nhân viên quản trị hệ thống. c. Pre-conditions: nhân viên quản trị hệ thống đƣợc hệ thống nhận diện và ủy quyền sử dụng. d. Post-conditions: phân quyền cho ngƣời dùng. e. Main success scenario: 1. Nhân viên quản trị hệ thống yêu cầu chức năng quản lý ngƣời dùng. 2. Hệ thống hiển thị thông tin ngƣời dùng. 3. Nhân viên quản trị hệ thống thực hiện gán ngƣời dùng vào nhóm chức năng. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Nhân viên quản trị hệ thống gán ngƣời dùng vào nhóm chức năng đã có ngƣời dùng: - Hệ thống thông báo “Nhóm chức năng này đã có ngƣời dùng”. - Use-case quay lại bƣớc 1. 3.3.7. Use-case 7: Quản lý thông tin nhân viên a. Use-case name: quản lý thông tin nhân viên. b. Actor: nhân viên nhân sự. c. Pre-conditions: nhân viên nhân sự đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: xem, cập nhật thông tin nhân viên. 25
- e. Main success scenario: 1. Nhân viên nhân sự chọn chức năng quản lý thông tin nhân viên. 2. Hệ thống hiển thị các thông tin nhân viên. 3. Nhân viên nhân sự thực hiện thêm nhân viên. 4. Hệ thống ghi nhận và xử lý: - Thêm một nhân viên vào bảng Nhân viên. - Phát sinh một quá trình làm việc ở chức năng “Quá trình làm việc”. - Phát sinh một công tác hiện tại ở chức năng “Công tác hiện tại”. - Phát sinh một bảng công ở chức năng “Chấm công nhân viên”. - Phát sinh một diễn biến lƣơng ở chức năng “Diễn biến lƣơng”. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Nhân viên đã tồn tại (kiểm tra trùng dựa vào điều kiện: họ tên, CMND). o Hệ thống thông báo “Nhân viên đã tồn tại”. o Use-case quay lại bƣớc 1. 3c. Nhân viên nhân sự chọn chức năng cập nhật thông tin nhân viên: 1. Nhân viên nhân sự chọn nhân viên cần cập nhật. 2. Hệ thống hiển thị các thông tin của nhân viên đƣợc chọn. 3. Nhân viên nhân sự thực hiện cập nhật thông tin cho nhân viên đƣợc chọn. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả 3a. Nhân viên nhân sự nhập thông tin không hợp lệ: - Hệ thống thông báo lỗi tại các trƣờng không hợp lệ. - Nhân viên nhân sự cập nhật lại các thông tin không hợp lệ. 26
- 3.3.8. Use-case 8: Quản lý thông tin hợp đồng a. Use-case name: quản lý thông tin hợp đồng. b. Actor: nhân viên nhân sự. c. Pre-conditions: Nhân viên nhân sự đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: cập nhật, gia hạn, in hợp đồng. e. Main success scenario: 1. Nhân viên nhân sự chọn chức năng thêm hợp đồng. 2. Hệ thống hiển thị chức năng thêm hợp đồng và yêu cầu nhập các thông tin của hợp đồng. 3. Nhân viên nhân sự thực hiện nhập thông tin hợp đồng. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 1a. Nhân viên nhân sự chọn nút “Kết thúc hợp đồng”: - Hệ thống ghi nhận và kết thúc hợp đồng đƣợc chọn. - Thông tin đƣợc chuyển qua quản lý thông tin thôi việc. 1b. Nhân viên nhân sự chọn chức năng gia hạn hợp đồng: 1. Hệ thống hiển thị các hợp đồng gần hết hạn. 2. Nhân viên nhân sự chọn hợp đồng cần gia hạn và nhập thông tin gia hạn. 3. Hệ thống ghi nhận, xử lý và thông báo kết quả. 3b Nhân viên nhân sự nhập thông tin không hợp lệ: - Hệ thống thông báo tại các trƣờng không hợp lệ. - Nhân viên nhân sự nhập lại các thông tin không hợp lệ. 27
- 3.3.9. Use-case 9: Quản lý thông tin công tác a. Use-case name: quản lý thông tin công tác. b. Actor: nhân viên nhân sự. c. Pre-conditions: nhân viên nhân sự đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: quản lý quá trình công tác của nhân viên tại công ty. e. Main success scenario: 1. Nhân viên nhân sự chọn chức năng quản lý thông tin công tác. 2. Hệ thống hiển thị các thông tin quá trình công tác của nhân viên. 3. Nhân viên nhân sự thực hiện sửa thông tin quá trình công tác. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay lại trạng thái ban đầu. 3b Nhân viên nhân sự nhập thông tin không hợp lệ: - Hệ thống thông báo tại các trƣờng không hợp lệ. - Nhân viên nhân sự nhập lại các thông tin không hợp lệ. 3.3.10. Use-case 10: Quản lý thông tin thôi việc a. Use-case name: quản lý thông tin thôi việc. b. Actor: nhân viên nhân sự. c. Pre-conditions: nhân viên nhân sự đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: quản lý thông tin thôi việc. 28
- e. Main success scenario: 1. Nhân viên nhân sự chọn chức năng quản lý thông tin thôi việc. 2. Hệ thống hiển thị chức năng thôi việc cho nhân viên. 3. Nhân viên nhân sự cập nhật nghỉ việc cho nhân viên. 4. Hệ thống ghi nhận và xử lý: . Cập nhật thông tin nhân viên nghỉ việc vào bảng Nhân viên. . Nếu nhân viên là ngƣời dùng hệ thống thì xóa ngƣời dùng. . Xóa nhân viên ở chức năng “Công tác hiện tại”. . Cập nhật ngày thôi việc cho nhân viên ở chức năng “Quá trình làm việc”. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3b. Nếu nhân viên tái tuyển dụng: Lấy lại mã nhân viên, thêm trong quá trình làm việc dữ liệu tái tuyển dụng: chọn ngày làm mới. Hệ thống cập nhật ngày vào làm và tiếp tục quá trình làm việc của nhân viên. 3c. Nhân viên nhân sự chọn xem thông tin thôi việc: Hệ thống hiển thị thông tin thôi việc của nhân viên. Nhân viên nhân sự chọn điều kiện lọc danh sách: mã nhân viên, họ tên, khoảng thời gian nghỉ việc, loại nghỉ việc. Hệ thống hiển thị danh sách thôi việc theo điều kiện lọc. 29
- 3.3.11. Use-case 11: Chấm công nhân viên a. Use-case name: quản lý dữ liệu nghỉ. b. Actor: nhân viên tính lƣơng. c. Pre-conditions: nhân viên tính lƣơng đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: chấm công ca làm việc, nghỉ, làm ngoài giờ của nhân viên. e. Main success scenario: 1. Nhân viên tính lƣơng chọn chức năng chấm công nhân viên. 2. Hệ thống hiển thị chức năng chấm công nhân viên. 3. Nhân viên tính lƣơng chọn nhân viên và nhập dữ liệu cho nhân viên đƣợc chọn. 4. Hệ thống ghi nhận thông tin. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash). - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy các thao tác trƣớc đó và quay lại trạng thái ban đầu. 1a. Vào mỗi đầu tháng, hệ thống sẽ hiện thông báo nhắc nhở nhân viên tính lƣơng tạo bảng công cho công ty vào tháng mới nếu bảng công tháng đó chƣa đƣợc tạo. 3a. Nhân viên chọn chức năng xem quá trình nghỉ của nhân viên. - Hệ thống hiển thị quá trình nghỉ của nhân viên đƣợc chọn. 3c. Nhân viên tính lƣơng nhấn nút “Khóa sổ công”: - Nhân viên tính lƣơng có thể thay đổi dữ liệu đã khóa sổ nếu có sai sót trong vòng 7 ngày. 30
- 3.3.12. Use-case 12: Quản lý diễn biến lƣơng căn bản a. Use-case name: quản lý diễn biến lƣơng căn bản. b. Actor: nhân viên tính lƣơng. c. Pre-conditions: nhân viên tính lƣơng đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: quản lý quá trình lƣơng (diễn biến lƣơng) căn bản của nhân viên. e. Main success scenario: 1. Nhân viên tính lƣơng yêu cầu chức năng quản lý diễn biến lƣơng căn bản. 2. Hệ thống hiển thị các thông tin diễn biến lƣơng căn bản của nhân viên. 3. Nhân viên tính lƣơng thực hiện cập nhật thông tin diễn biến lƣơng căn bản. 4. Hệ thống ghi nhận, xử lý và thông báo kết quả. f. Extension: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3.3.13. Use-case 13: Tổng hợp lƣơng a. Use-case name: tổng hợp lƣơng. b. Actor: nhân viên tính lƣơng. c. Pre-conditions: nhân viên tính lƣơng đƣợc nhận diện và ủy quyền sử dụng hệ thống. d. Post-conditions: tổng hợp, tính toán dữ liệu lƣơng tháng cho nhân viên. 31
- e. Main success scenario: 1. Nhân viên tính lƣơng yêu cầu chức năng tính lƣơng. 2. Hệ thống hiển thị danh sách nhân viên theo điều kiện lọc (mã nhân viên, phòng ban ) 3. NV TL nhấn nút “Tổng hợp số liệu”. 4. Hệ thống tính toán lƣơng dựa trên dữ liệu đầu vào mới nhất. f. Extensions: *a. Nếu trong quá trình thực hiện hệ thống bị dừng bất ngờ (crash): - Ngƣời dùng khởi động lại hệ thống. - Hệ thống hủy bỏ các thao tác trƣớc đó và quay trở lại trạng thái ban đầu. 3a. Nhân viên tính lƣơng nhấn nút “In”: - Hệ thống in ra bảng lƣơng chi tiết với các chỉ tiêu tƣơng ứng. 3b. Nhân viên tính lƣơng nhấn nút “Khóa sổ lƣơng”: - Hệ thống khóa bảng lƣơng hiện tại, mọi thay đổi từ dữ liệu đầu vào không còn ý ngh a với dữ liệu của bảng lƣơng đã khóa. - Nhân viên tính lƣơng có thể thay đổi dữ liệu đã khóa sổ nếu có sai sót trong vòng 7 ngày. 32
- 3.4. Domain model: Hình 3: Sơ đồ Domain model 33
- 3.5. Mô tả các lớp trong Domain Model: 3.5.1. Lớp NS_CongTacHienTai: STT Thuộc tính Mô tả 1 ID Mã 2 CongTy Công ty 4 PhongBan Phòng ban 5 ToNhom Tổ nhóm 3.5.2. Lớp NS_TTGiaDinh: STT Thuộc tính Mô tả 1 ID Mã 2 HoTen Họ tên ngƣời thân trong gia đình 3 LoaiQuanHe Loại quan hệ 4 LaPhuThuoc Có là phụ thuộc gia cảnh hay không 3.5.3. Lớp NS_HopDong: STT Thuộc tính Mô tả 1 ID Mã hợp đồng 2 LoaiHopDong Loại hợp đồng 3 NgayHieuLuc Ngày hiệu lực 4 NgayCuoi Ngày cuổi 5 NgayBDThuViec Ngày bắt đầu thử việc 6 NgayKTThuViec Ngày kết thúc thử việc 34
- 3.5.4. Lớp NS_NhanVien: STT Thuộc tính Mô tả 1 ID Mã nhân viên 2 HoTen Họ tên nhân viên 3.5.5. Lớp NS_HoatDongNhanVien: STT Thuộc tính Mô tả 1 ID Mã 2 NgayBatDau Ngày bắt đầu 3 CongTy Công ty 4 PhongBan Phòng ban 5 ToNhom Tổ nhóm 6 CaLamViec Ca làm việc 7 ChucVu Chức vụ 3.5.6. Lớp CC_ChamCong: STT Thuộc tính Mô tả 1 ID Mã 2 ThangNam Tháng năm 3 CaLamViec Ca làm việc 4 LoaiNghi Loại nghỉ 5 NgoaiGio Ngoài giờ 35
- 3.5.7. Lớp CC_TongHopCong: STT Thuộc tính Mô tả 1 ID Mã 2 ThangNam Tháng năm 3 TongCongLamViec Tổng công làm việc 4 TongNghi Tổng nghỉ 5 NgoaiGioNgayThuong Ngoài giờ ngày thƣờng 6 NgoaiGioChuNhat Ngoài giờ chủ nhật 7 NgoaiGioNgayLe Ngoài giờ ngày lễ 3.5.8. Lớp TL_DienBienLuong: STT Thuộc tính Mô tả 1 ID Mã 2 ThangNam Tháng năm 3 LuongCanBan Lƣơng căn bản 4 LuongBHXH Lƣơng bảo hiểm xã hội 5 DongBHXH Đóng bảo hiểm xã hội 3.5.9. Lớp NS_TTThoiViec: STT Thuộc tính Mô tả 1 ID Mã 2 NgayBaoNghi Ngày báo nghỉ 3 NgayLamCuoi Ngày làm cuối 4 NgayLuongCuoi Ngày lƣơng cuối 36
- 3.5.10. Lớp TL_TongHopLuong: STT Thuộc tính Mô tả 1 ID Mã 2 ThangNam Tháng năm 3 Bù lƣơng Bù lƣơng 4 Phụ cấp Phụ cấp 5 Tạm ứng Tạm ứng 6 BHXH Bảo hiểm xã hội 7 BHYT Bảo hiểm y tế 8 BHTN Bảo hiểm tai nạn 9 GiamTruGiaCanh Giảm trừ gia cảnh 10 KhauTru Khấu trừ 11 ThueTNCN Thuế thu nhập cá nhân 12 TongLanh Tổng lãnh 3.5.11. Lớp NS_KhenThuongKyLuat: STT Thuộc tính Mô tả 1 ID Mã 2 LyDo Lý do 37
- 3.6. Sơ đồ tuần tự hệ thống – System sequence diagram: 3.6.1. Đăng nhập: Hình 4: Sơ đồ tuần tự hệ thống – Đăng nhập 3.6.2. Đổi mật khẩu: Hình 5: Sơ đồ tuần tự hệ thống – Đổi mật khẩu 38
- 3.6.3. Quản lý chức năng: Hình 6: Sơ đồ tuần tự hệ thống – Quản lý chức năng 3.6.4. Quản lý nhóm chức năng: Hình 7: Sơ đồ tuần tự hệ thống – Quản lý nhóm chức năng 39
- 3.6.5. Quản lý ngƣời dùng: Hình 8: Sơ đồ tuần tự hệ thống – Quản lý người dùng 3.6.6. Phân quyền: Hình 9: Sơ đồ tuần tự hệ thống – Phân quyền 3.6.7. Quản lý thông tin nhân viên: 40
- Hình 10: Sơ đồ tuần tự hệ thống – Quản lý thông tin nhân viên 3.6.8. Quản lý thông tin hợp đồng: Hình 11: Sơ đồ tuần tự hệ thống – Quản lý thông tin hợp đồng 3.6.9. Quản lý thông tin công tác: 41
- Hình 12: Sơ đồ tuần tự hệ thống – Quản lý thông tin công tác 3.6.10. Quản lý thông tin thôi việc: Hình 13: Sơ đồ tuần tự hệ thống – Quản lý thông tin thôi việc 3.6.11. Chấm công nhân viên: 42
- Hình 14: Sơ đồ tuần tự hệ thống – Chấm công nhân viên 3.6.12. Quản lý diễn biến lƣơng căn bản: Hình 15: Sơ đồ tuần tự hệ thống – Quản lý diễn biến lương cơ bản 3.6.13. Tổng hợp lƣơng: 43
- Hình 16: Sơ đồ tuần tự hệ thống – Tổng hợp lương 44
- CHƢƠNG 4: THIẾT KẾ 4.1. Sơ đồ tuần tự - Sequence Diagram 4.2. Sơ đồ lớp – Class Diagram 4.3. Thiết kế kiến trúc ứng dụng 4.4. Thiết kế cơ sở dữ liệu 4.5. Thiết kế giao diện 4.1. Sơ đồ tuần tự - Sequence Diagram: 45
- 4.1.1. Thêm nhân viên: Hình 17: Sơ đồ tuần tự hệ thống: Thêm nhân viên 4.1.2. Chuyển công tác: Hình 18: Sơ đồ tuần tự hệ thống: Chuyển công tác 4.2. Sơ đồ lớp – Class Digram: 46
- Hình 20: Sơ đồ Class Diagram 4.3. Thiết kế kiến trúc ứng dụng: 47
- 4.3.1. Thêm nhân viên: Hình 21: Thiết kế xử lý – Thêm nhân viên 4.3.2. Chuyển công tác: 48
- Hình 22: Thiết kế xử lý – Chuyển công tác nhân viên 4.4. Thiết kế cơ sở dữ liệu: 49
- 4.4.1. Sơ đồ dữ liệu quan hệ: Hình 23: Sơ đồ dữ liệu quan hệ - phân hệ hệ thống Hình 24: Sơ đồ dữ liệu quan hệ - phân hệ nhân sự 50
- Hình 25: Sơ đồ dữ liệu quan hệ - phân hệ tính lương 4.4.2. Mô tả các bảng: 4.4.2.1. Bảng HT_CauHoiBiMat : Kích STT Tên cột Kiểu dữ liệu Ràng buộc thƣớc 1 ID Int 4 Khóa chính 2 TenCauHoi Nvarchar 200 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 51
- 4.4.2.2. Bảng HT_ChucNang : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 TenChucNang Nvarchar 50 Khóa ngoại(tham chiếu 3 MaNhomChucNang Int 4 đến bảng HT_NhomChucNang) 4 TenForm Nvarchar 50 5 DuocSuDung Bit 6 NguoiChinhSua Nvarchar 50 7 NgayChinhSua DateTime 8 4.4.2.3. Bảng HT_NguoiDung : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 MaNhanVien Int 4 bảng NS_NhanVien) 3 TaiKhoan Nvarchar 50 4 MatKhau Nvarchar 50 Khóa ngoại(tham chiếu đến 5 MaCauHoi Int 4 bảng HT_CauHoiBiMat) 6 CauTraLoi Nvarchar 200 7 DuocSuDung Bit 8 LoiDangNhap Nvarchar 50 9 NguoiChinhSua Nvarchar 50 10 NgayChinhSua DateTime 8 52
- 4.4.2.4. Bảng HT_PhanQuyen : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc Khóa chính, Khóa 1 MaNhomChucNang Int 4 ngoại(tham chiếu đến bảng HT_NhomChucNang) Khóa chính, Khóa 2 MaNguoiDung Int 4 ngoại(tham chiếu đến bảng HT_NguoiDung) 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua Datetime 8 4.4.2.5. Bảng NS_CongTacHienTai: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) Khóa ngoại(tham chiếu đến 3 CongTyID Int 4 bảng DM_CongTy) Khóa ngoại(tham chiếu đến 4 PhongBanID Int 4 bảng DM_PhongBan) Khóa ngoại(tham chiếu đến 5 ToNhomID Int 4 bảng DM_ToNhom) 6 NguoiChinhSua Nvarchar 50 7 NgayChinhSua DateTime 8 53
- 4.4.2.6. Bảng NS_HoatDongNhanVien: Kích STT Tên cột Kiểu dữ liệu Ràng buộc thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu 2 NhanVienID Int 4 đến bảng NS_NhanVien) 3 NgayBatDau DateTime 8 4 NgayThoiViec DateTime 8 Khóa ngoại(tham chiếu 5 CongTyID Int 4 đến bảng DM_CongTy) Khóa ngoại(tham chiếu 6 PhongBanID Int 4 đến bảng DM_PhongBan) Khóa ngoại(tham chiếu 7 ToNhomID Int 4 đến bảng DM_ToNhom) Khóa ngoại(tham chiếu 8 CaLamViecID Int 4 đến bảng DM_CaLamViec) Khóa ngoại(tham chiếu 9 ChucVuID Int 4 đến bảng DM_ChucVu) 10 SoSoLaoDong Nvarchar 50 11 NgayCapSoLD Datetime 8 12 NoiCapSoLD nvarchar 100 13 NguoiChinhSua Nvarchar 50 14 NgayChinhSua DateTime 8 54
- 4.4.2.7. Bảng HT_NhomChucNang : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 TenNhomChucNang Nvarchar 50 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.8. Bảng NS_KhenThuongKyLuat: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) 3 KhenThuong Bit 4 SoQuyetDinh Varchar 20 5 FileQuyetDinh Image 16 6 NguoiKy Nvarchar 50 7 NgayKy Datetime 8 8 NgayCap Datetime 8 9 ChiTiet Nvarchar 255 10 GhiChu Nvarchar 255 11 NguoiChinhSua Nvarchar 50 12 NgayChinhSua DateTime 8 55
- 4.4.2.9. Bảng NS_HopDong: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu 2 NhanVienID Int 4 đến bảng NS_NhanVien) Khóa ngoại(tham chiếu 3 LoaiHopDongID Int 4 đến bảng DM_LoaiHopDong) 4 SoHopDong Varchar 20 5 NgayHieuLuc Datetime 8 6 NgayCuoi Datetime 8 7 NgayBDThuViec Datetime 8 8 NgayKTThuViec Datetime 8 9 NguoiKy Nvarchar 50 10 NgayKy Datetime 8 11 FileHopDong Image 16 12 TieuDe Nvarchar 100 13 NguoiChinhSua Nvarchar 50 14 NgayChinhSua DateTime 8 56
- 4.4.2.10. Bảng NS_LichSuNhanVien: STT Tên cột Kiểu dữ liệu Kích thƣớc Ràng buộc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu 2 NhanVienID Int 4 đến bảng NS_NhanVien) 3 TuThang Datetime 8 4 DenThang Datetime 8 5 LamViecCho Nvarchar 100 Khóa ngoại(tham chiếu 6 ChucVuID Int 4 đến bảng DM_ChucVu) 7 MucLuong Float 8 Khóa ngoại(tham chiếu 8 LoaiTienID Int 4 đến bảng DM_LoaiTien) 9 ViTri Nvarchar 50 10 LyDoThayDoi Nvarchar 255 11 TenLienHe Nvarchar 50 12 DienThoaiLienHe Nvarchar 20 13 DiaChiLienHe Nvarchar 255 14 NguoiChinhSua Nvarchar 50 15 NgayChinhSua DateTime 8 57
- 4.4.2.11. Bảng NS_NhanVien: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 50 3 BiDanh Nvarchar 50 4 NgaySinh Datetime 8 Khóa ngoại(tham chiếu đến 5 NoiSinhID Int 4 bảng DM_QuanHuyen) Khóa ngoại(tham chiếu đến 6 QueQuanID Int 4 bảng DM_QuanHuyen) 7 DiaChi Nvarchar 100 8 DCTamTru Nvarchar 100 9 GioiTinh Bit Khóa ngoại(tham chiếu đến 10 TinhTrangHonNhanID Int 4 bảng DM_TinhTrangHonNhan) 11 NgayLapGiaDinh Datetime 8 12 SoCMND Nvarchar 50 13 NgayCapCMND Datetime 8 14 NoiCapCMND Int 4 Khóa ngoại(tham chiếu đến 15 DanTocID Int 4 bảng DM_DanToc) Khóa ngoại(tham chiếu đến 16 TonGiaoID Int 4 bảng DM_TonGiao) Khóa ngoại(tham chiếu đến 17 QuocTichID Int 4 bảng DM_QuocTich) 18 TraQuaNganHang Bit Khóa ngoại(tham chiếu đến 19 NganHangID Int 4 bảng DM_NganHang) 20 MaTaiKhoan Nvarchar 50 58
- 21 TenTaiKhoan Nvarchar 50 22 NguoiNN Bit 23 DTBan Nvarchar 20 24 DiDong Nvarchar 20 25 Email Nvarchar 50 26 DaThoiViec Bit 27 NgayBHXH Datetime 8 28 Hinh Image 16 29 NguoiChinhSua Nvarchar 50 30 NgayChinhSua DateTime 8 4.4.2.12. Bảng NS_TTGiaDinh: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu 2 NhanVienID Int 4 đến bảng NS_NhanVien) 3 Ten Nvarchar 50 4 NamSinh Int 4 5 DiaChi Nvarchar 255 6 DienThoai Nvarchar 20 7 NgheNghiep Nvarchar 50 8 NoiLamViec Nvarchar 50 Khóa ngoại(tham chiếu 9 LoaiQuanHeID Int 4 đến bảng DM_LoaiQuanHe) 10 GhiChu Nvarchar 255 11 LaPhuThuoc bit 14 NguoiChinhSua Nvarchar 50 59
- 4.4.2.13. Bảng NS_TTThoiViec: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) 3 PCThoiViec Float 8 4 NgayBaoNghi Datetime 8 5 NgayLamCuoi Datetime 8 6 NgayKy Datetime 8 7 NguoiKy Nvarchar 50 8 ChucVuKy Nvarchar 50 9 LyDo Nvarchar 200 10 GhiChu Nvarchar 255 14 NguoiChinhSua Nvarchar 50 15 NgayChinhSua DateTime 8 60
- 4.4.2.14. Bảng CC_ChamCong : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) 3 ThangNam DateTime 8 Khóa ngoại(tham chiếu đến 4 CaNgay1 Int 4 bảng DM_CaLamViec) Khóa ngoại(tham chiếu đến 5 CaNgay31 Int 4 bảng DM_CaLamViec) Khóa ngoại(tham chiếu đến 6 NghiNgay1 Int 4 bảng DM_NgayNghi) Khóa ngoại(tham chiếu đến 7 NghiNgay31 Int 4 bảng DM_NgayNghi) 8 NgoaiGioNgay1 Int 4 9 NgoaiGioNgay31 Int 4 Khóa ngoại(tham chiếu đến 10 CongTyID Int 4 bảng DM_CongTy) Khóa ngoại(tham chiếu đến 11 PhongBanID Int 4 bảng DM_PhongBan) Khóa ngoại(tham chiếu đến 12 ToNhomID Int 4 bảng DM_ToNhom) 13 KhoaSo Bit 14 NgayKhoaSo Datetime 8 15 NguoiChinhSua Nvarchar 50 16 NgayChinhSua DateTime 8 61
- 4.4.2.15. Bảng CC_TongHopCong : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu 2 NhanVienID Int 4 đến bảng NS_NhanVien) 3 ThangNam DateTime 8 4 TongCong Float 8 5 TongNghi Float 8 6 NgoaiGioNgayThuong Float 8 7 NgoaiGioNgayChuNhat Float 8 8 NgoaiGioNgayLe Float 8 Khóa ngoại(tham chiếu 9 CongTyID Int 4 đến bảng DM_CongTy) Khóa ngoại(tham chiếu 10 PhongBanID Int 4 đến bảng DM_PhongBan) Khóa ngoại(tham chiếu 11 ToNhomID Int 4 đến bảng DM_ToNhom) 12 NguoiChinhSua Nvarchar 50 13 NgayChinhSua DateTime 8 62
- 4.4.2.16. Bảng TL_DienBienLuong : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) 3 ThangNam DateTime 8 4 LuongCanBan Float 8 5 LuongBHXH Float 8 6 LyDo Nvarchar 255 7 DongBHXH Bit 8 ThuViec Bit Khóa ngoại(tham chiếu đến 9 ChucVuID Int 4 bảng DM_ChucVu) 10 GhiChu Nvarchar 255 Khóa ngoại(tham chiếu đến 11 CongTyID Int 4 bảng DM_CongTy) Khóa ngoại(tham chiếu đến 12 PhongBanID Int 4 bảng DM_PhongBan) Khóa ngoại(tham chiếu đến 13 ToNhomID Int 4 bảng DM_ToNhom) 14 NguoiChinhSua Nvarchar 50 15 NgayChinhSua DateTime 8 63
- 4.4.2.17. Bảng TL_TongHopLuong : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa ngoại(tham chiếu đến 2 NhanVienID Int 4 bảng NS_NhanVien) 3 ThangNam DateTime 8 4 LuongCanBan Float 8 5 LuongBHXH Float 8 6 NgayCong Float 8 7 CongTCNT Float 8 8 CongTCCN Float 8 9 CongTCNL Float 8 10 TienHoaHong Float 8 11 BuLuong Float 8 12 PCChuyenCan Float 8 13 PCNhaO Float 8 14 PCDiLai Float 8 15 PCGoiXe Float 8 16 PCAn Float 8 17 TienPCAn Float 8 18 PCXang Float 8 19 TienPCXang Float 8 20 TongTNCT Float 8 21 BHXH5 Float 8 22 BHYT1 Float 8 23 BHTN1 Float 8 64
- 24 SoNguoiGiamTru Int 4 25 TienGiamTru Float 8 26 ThueTNCN Float 8 27 PhiCongDoan Float 8 28 KhauTruKhac Float 8 29 TamUng Float 8 30 ThueTNTT Float 8 31 TongLanh Float 8 Khóa ngoại(tham chiếu đến 32 CongTyID Int 4 bảng DM_CongTy) Khóa ngoại(tham chiếu đến 33 PhongBanID Int 4 bảng DM_PhongBan) Khóa ngoại(tham chiếu đến 34 ToNhomID Int 4 bảng DM_ToNhom) 35 NguoiChinhSua Nvarchar 50 36 NgayChinhSua DateTime 8 4.4.2.18. Bảng DM_CaLamViec : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 GioBatDau DateTime 8 4 GioKetThuc DateTime 8 5 NguoiChinhSua Nvarchar 50 6 NgayChinhSua DateTime 8 65
- 4.4.2.19. Bảng DM_ChucVu: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.20. Bảng DM_CongTy: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.21. Bảng DM_DanhMuc: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 MaDM Int 4 4 NguoiChinhSua Nvarchar 50 5 NgayChinhSua DateTime 8 66
- 4.4.2.22. Bảng DM_DanToc: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.23. Bảng DM_LoaiHopDong: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.24. Bảng DM_LoaiQuanHe: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 67
- 4.4.2.25. Bảng DM_LoaiTien: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.26. Bảng DM_NganHang: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.27. Bảng DM_NgayLe : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 70 3 ThangNam Datetime 8 4 LoaiNgay Int 4 5 NguoiChinhSua Nvarchar 50 6 NgayChinhSua DateTime 8 68
- 4.4.2.28. Bảng DM_NgayNghi : Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 50 3 Loai Nvarchar 10 4 SoNgayNghi Float 8 5 NguoiChinhSua Nvarchar 50 6 NgayChinhSua DateTime 8 4.4.2.29. Bảng DM_PhongBan: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 CongTyID Int 4 bảng DM_CongTy) 3 Ten Nvarchar 100 4 NguoiChinhSua Nvarchar 50 5 NgayChinhSua DateTime 8 4.4.2.30. Bảng DM_PhuCap : Kích STT Tên cột Kiểu dữ liệu Ràng buộc thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 DonGia Float 8 5 NguoiChinhSua Nvarchar 50 6 NgayChinhSua DateTime 8 69
- 4.4.2.31. Bảng DM_QuanHuyen: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 TinhThanhID Int 4 bảng DM_TinhThanh) 3 Ten Nvarchar 100 4 NguoiChinhSua Nvarchar 50 5 NgayChinhSua DateTime 8 4.4.2.32. Bảng DM_QuocTich: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.33. Bảng DM_TinhThanh: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 70
- 4.4.2.34. Bảng DM_TinhTrangHonNhan: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.35. Bảng DM_TonGiao: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính 2 Ten Nvarchar 100 3 NguoiChinhSua Nvarchar 50 4 NgayChinhSua DateTime 8 4.4.2.36. Bảng DM_ToNhom: Kiểu dữ Kích STT Tên cột Ràng buộc liệu thƣớc 1 ID Int 4 Khóa chính Khóa ngoại(tham chiếu đến 2 PhongBanID Int 4 bảng DM_PhongBan) 3 Ten Nvarchar 100 4 NguoiChinhSua Nvarchar 50 5 NgayChinhSua DateTime 8 71
- 4.5. Thiết kế giao diện: 4.5.1. Thiết kế màn hình chính: Hình 26: Giao diện màn hình chính 72
- 4.5.2. Giao diện 1 số màn hình khác: Hình 27: Giao diện màn hình Quản lý chức năng 73
- Hình 28: Giao diện màn hình sơ yếu lý lịch Hình 29: Giao diện màn hình Chi tiết sơ yếu lý lịch Hình 30: Giao diện màn hình Thêm nhân viên 74
- Hình 31: Giao diện màn hình Công tác hiện tại Hình 32: Giao diện màn hình Quá trình làm việc 75
- Hình 33: Giao diện màn hình chính Hợp đồng lao động Hình 34: Giao diện màn hình Khen thưởng kỷ luật 76
- Hình 35: Giao diện màn hình Quá trình làm việc ngoài công ty Hình 36: Giao diện màn hình Chấm công nhân viên 77
- Hình 37: Giao diện màn hình Diễn biến lương 78
- CHƢƠNG 5: CÀI ĐẶT, ĐÁNH GIÁ KẾT QUẢ VÀ HƢỚNG PHÁT TRIỂN 5.1. Môi trƣờng cài đặt 5.2. Đánh giá kết quả 5.3. Hƣớng phát triển 79
- 1.1. Môi trƣờng cài đặt: Khi cài đặt sẽ có hƣớng dẫn sử dụng phần mềm cho ngƣời dùng ứng dụng. Yêu cầu máy tính cài đặt phần mềm phải có: -.NET Frame Work 2.0. -Microsoft SQL Server 2005. 1.2. Đánh giá kết quả: - Kết quả đạt đƣợc: o Phần mềm Quản lý Nhân sự và Tiền lƣơng. o Báo cáo quá trình xây dựng phần mềm. o Thu thập nhiều kiến thức và kinh nghiệm trong quá trình xây dựng phần mềm. - Chức năng chƣơng trình đã làm đƣợc: o Quản lý các thông tin nhân viên: sơ yếu lý lịch, hợp đồng, công tác hiện tại, quá trình làm việc, thông tin thôi việc, quá trình làm việc ngoài công ty, khen thƣởng kỷ luật, thông tin gia đình. o Chấm công nhân viên. o Quản lý diễn biến lƣơng, phụ cấp và tính lƣơng cho nhân viên. - Chức năng chƣa làm đƣợc: o Quản lý chi tiết hơn các thông tin nhân viên: bằng cấp, sức khỏe nhân viên. o Chấm công hàng loạt, tính lƣơng hàng loạt. o Quản lý bảo hiểm nhân viên. o Xây dựng phần mềm trên mô hình client - server với cơ sở dữ liệu tập trung. o Cho phép update phần mềm qua mạng internet. 1.3. Hƣớng phát triển: - Quản lý bằng cấp nhân viên, sức khỏe nhân viên. - Chấm công hàng loạt, tính lƣơng hàng loạt. - Xây dựng phần mềm trên mô hình client – server với cơ sở dữ liệu tập trung. 80
- LỜI KẾT Cuối cùng, nhóm làm đề tài xin đƣợc chân thành cảm ơn Thầy Giang Hào Côn, anh Chu Xuân Thiện đã tận tình giúp đỡ trong quá trình xây dựng phần mềm. Phần mềm đã hoàn thành, tuy nhiên còn những thiếu sót chƣa khắc phục đƣợc. Mong các Thầy Cô và mọi ngƣời quan tâm giúp đỡ. 81