TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN --- ---BÁO CÁO THỰC TẬP CƠ SỞ NGÀNH ĐỀ TÀI: XÂY DỰNG PHẦN MỀM WEBSITE QUẢN LÝ THÔNG TIN VỀ NHÂN SỰ TRONG DOANH NGHIỆP... LỜI
Mục tiêu và phạm vi nghiên cứu
- Nghiên cứu các quy trình quản lý nhân sự trong doanh nghiệp.
- Phân tích yêu cầu và thiết kế cơ sở dữ liệu quản lý nhân sự.
- Thiết kế giao diện và các chức năng cho website quản lý nhân sự.
- Xây dựng và triển khai website quản lý nhân sự cho doanh nghiệp.
- Đánh giá hiệu quả ứng dụng của phần mềm quản lý nhân sự.
- Nghiên cứu được thực hiện tại công ty cổ phần tập đoàn đầu tư công nghệ ABC Việt Nam.
- Phần mềm quản lý các thông tin: hồ sơ nhân viên, lương và nghỉ phép.
- Phần mềm có thể truy cập trên máy tính và các thiết bị di động thông qua website.
- Người dùng: Bộ phận nhân sự, cán bộ quản lý.
Bố cục của đề tài
Đề tài được chia thành 3 chương như sau:
Chương 1: Tổng quan về đề tài xây dựng phần mềm quản lý nhân sự, nêu rõ lý do lựa chọn và mục tiêu của nghiên cứu Bố cục nghiên cứu sẽ được trình bày qua 3 chương chính.
Chương 2 tập trung vào việc khảo sát và phân tích hệ thống nhân sự hiện tại của doanh nghiệp, từ đó xác định các yêu cầu và chức năng cần thiết cho phần mềm Đồng thời, chương này cũng sẽ thiết kế cơ sở dữ liệu, giao diện và các chức năng của phần mềm một cách hoàn chỉnh.
Chương 3: Triển khai và kiểm thử hệ thống sẽ làm rõ khả năng thành công của website thông qua việc trình bày công nghệ và môi trường phát triển phần mềm Nội dung chương này bao gồm quá trình lập trình, kiểm thử phần mềm, cùng với hướng dẫn triển khai và sử dụng hệ thống sau khi hoàn tất.
Khảo sát nơi thực tập
1.4.1 Giới thiệu về công ty
Tên công ty: Công ty cổ phần ABC Việt Nam.
Vốn điều lệ : 10.500.000.000 (Mười tỷ năm trăm triệu đồng VN) Địa chỉ trụ sở : Khả Duy - Đoàn Đào - Phù Cừ - Hưng Yên. Điện thoại: 02213 892 868
E-mail:info@abcvietnam.com.vn
Website:http://www.abcvietnam.com.vn
Công ty ABC Việt Nam được tổ chức thành 5 phòng ban như sau:
- Phòng hành chính- nhân sự.
Sơ đồ tổ chức của công ty như sau:
Hình 1-1 Sơ đồ tổ chức công ty ABC Việt Nam
KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Tìm hiểu lý thuyết
2.1.1 Quản lý thông tin về nhân sự
Quản lý thông tin nhân sự là gì?
Quản lý nhân sự hay còn gọi là quản lý nguồn nhân lực cho một tổ chức hoặc doanh nghiệp.
Quản lý thông tin nhân sự là quá trình tổng hợp và cập nhật liên tục các dữ liệu quan trọng về người lao động, bao gồm thông tin cá nhân, hợp đồng lao động, lương thưởng, phúc lợi, khen thưởng và kỷ luật.
Quản lý thông tin nhân sự là một nhiệm vụ thiết yếu ngay từ khi tổ chức bắt đầu hoạt động Công việc này không chỉ giúp tổ chức kiểm soát thông tin của toàn bộ nhân viên mà còn đóng vai trò quan trọng trong việc khuyến khích và giữ chân những tài năng quý giá.
Để hiểu rõ hiện trạng nhân lực, bao gồm việc thừa thiếu hay chất lượng tốt xấu, cần có một bộ phận hoặc công cụ chuyên trách quản lý thông tin.
Quy trình quản lý thông tin nhân sự
Quy trình quản lý thông tin nhân sự bao gồm việc xác định rõ ràng các quy trình và quy định liên quan đến việc thu thập, lưu trữ, cập nhật và bảo mật thông tin nhân sự Việc này đảm bảo thông tin được quản lý một cách hiệu quả và an toàn, đồng thời tuân thủ các tiêu chuẩn pháp lý cần thiết.
Quy trình này bao gồm việc:
- Xác định nguồn thông tin.
- Quy định về quyền truy cập và bảo mật.
- Các bước để cập nhật thông tin theo thời gian.
Vai trò của quản lý thông tin nhân sự
Quản lý thông tin nhân viên là yếu tố then chốt cho sự phát triển bền vững của tổ chức, doanh nghiệp, đặc biệt trong bối cảnh công nghệ 4.0 và thị trường cạnh tranh ngày càng gay gắt hiện nay.
Quản lý thông tin nhân sự cung cấp cái nhìn tổng quan về tiềm lực nhân sự, bao gồm cả số lượng và chất lượng Từ đó, Ban lãnh đạo có thể xác định định hướng và điều chỉnh các mục tiêu phù hợp với từng giai đoạn và phòng ban khác nhau.
Dựa vào nguồn dữ liệu lưu trữ đầy đủ qua các năm, doanh nghiệp có thể xây dựng chiến lược phát triển nhân lực cho tương lai, bao gồm việc cắt giảm, tuyển dụng thêm hoặc duy trì số lượng nhân viên hiện tại đồng thời nâng cao chất lượng nguồn nhân lực.
Quản lý nhân sự bằng công nghệ thông tin không chỉ nâng cao hiệu quả công việc mà còn gia tăng lòng tin của nhân viên vào doanh nghiệp Khi được coi trọng và quan tâm, nhân viên nhận thức rõ vai trò của mình, từ đó phấn đấu trở thành phần quan trọng trong tập thể.
2.1.2 Các hệ thống quản lý nhân sự hiện có
Hệ thống quản lý nhân sự là gì?
A Human Resources Management System (HRMS) is software designed to facilitate the management of human resources, encompassing features for Human Capital Management (HCM) and Human Resources Information System (HRIS).
Hiện nay, hệ thống quản lý nguồn nhân lực (HRMS) đang trở thành công cụ thiết yếu cho nhiều doanh nghiệp Bất kỳ doanh nghiệp nào cũng có thể áp dụng HRMS khi cần thiết, từ các tài liệu thủ công và bảng tính đơn giản đến phần mềm chuyên dụng Việc sử dụng HRMS giúp tối ưu hóa quy trình quản lý nhân sự và nâng cao hiệu quả hoạt động của doanh nghiệp.
Các hệ thống quản lý nhân sự hiện có:
- Phần mềm quản lý nguồn nhân lực online BambooHR:
BambooHR là phần mềm quản lý nhân sự hiệu quả, cung cấp nhiều tính năng hỗ trợ cho việc tuyển dụng và quản trị nhân lực, giúp tối ưu hóa quy trình làm việc trong doanh nghiệp.
Bamboo HR là giải pháp quản lý nguồn nhân lực toàn diện, phù hợp cho cả doanh nghiệp nhỏ và lớn với quy trình phức tạp Phần mềm này cung cấp các tính năng thiết thực cho HR, bao gồm quản lý thông tin nhân viên, tuyển dụng và tính toán lương, giúp tối ưu hóa quy trình làm việc.
- Phần mềm quản trị nhân sự Misa:
Doanh nghiệp có thể tận dụng phần mềm quản lý nhân sự Amis.vn do MISA phát triển để thực hiện hiệu quả các chức năng quản trị nhân sự, bao gồm hoạch định nguồn nhân lực, tuyển dụng, đào tạo, quản lý hồ sơ nhân viên, chấm công, tính lương và giải quyết chế độ cho nhân viên.
- Phần mềm quản lý nhân lực digiiHR:
Phần mềm digiiHR, được phát triển bởi OOC - đơn vị tư vấn hệ thống quản lý hàng đầu tại Việt Nam với hơn 20 năm kinh nghiệm, cung cấp giải pháp lưu trữ và quản lý dữ liệu trực tuyến trên đám mây với tính bảo mật cao Điểm mạnh nổi bật của digiiHR là khả năng đồng bộ thông tin với các phần mềm quản trị khác, giúp tạo ra một hệ thống quản trị toàn diện Ngoài ra, phần mềm còn hỗ trợ quản lý các tác vụ phức tạp và cung cấp báo cáo chi tiết, đáp ứng nhu cầu quản lý hiệu quả cho doanh nghiệp.
- Phần mềm quản lý nguồn nhân sự Tanca:
Tanca là phần mềm quản trị nhân sự HRM, giúp tối ưu hóa quy trình quản lý công lương, tuyển dụng và lưu trữ hồ sơ nhân viên Phần mềm này giảm thiểu công việc thủ công cho bộ phận nhân sự, đồng thời nâng cao sự hài lòng của nhân viên trong công ty Nhiều doanh nghiệp tại Việt Nam đã lựa chọn Tanca, coi đây là giải pháp hiệu quả được nhiều chuyên gia nhân sự khuyên dùng.
2.1.3 Các yếu tố quan trọng trong quản lý thông tin nhân sự
Khảo sát hệ thống
Xác định được những nghiệp vụ trong quản lý thông tin nhân sự.
Xác định được những thông tin cần phải có trong quản lý thông tin nhân sự.
Những chức năng cần phải xây dựng trong quản lý thông tin nhân sự.2.2.1.2 Phương pháp
Sử dụng phương pháp phỏng vấn:
KẾ HOẠCH PHỎNG VẤN Người được hỏi: Nguyễn Anh Đức Người phỏng vấn: Nguyễn Mạnh
Cường Nơi làm việc: Công ty Cổ phần ABC
Việt Nam. Địa chỉ: Bắc Từ Liêm, Hà Nội.
Thời gian hẹn: 8:00 AM Thời điểm bắt đầu: 8:30 AM Thời điểm kết thúc: 9:10 AM Đối tượng: Đối tượng được hỏi: Nguyễn Anh Đức
Để tối ưu hóa quản lý thông tin nhân sự, cần thu thập dữ liệu về các nghiệp vụ và thông tin liên quan Việc xác định các chức năng cần thiết trong quản lý thông tin nhân sự sẽ giúp cải thiện hiệu quả công việc và đảm bảo tính chính xác của dữ liệu.
Việc thu thập dữ liệu và sử dụng thông tin trong mục đích nghiên cứu và xây dựng website.
Các yêu cầu đòi hỏi:
Nhân viên từng làm hoặc có hiểu biết về quản lý nhân sự trong doanh nghiệp.
- Chúng tôi xin được hỏi anh/chị một số vấn đề liên Ước lượng thời gian
2 phút quan đến quản lý thông tin nhân sự trong doanh nghiệp.
Tổng quan về dự án
- Dự án này nhằm mục đích thu thập thông tin từ phòng tổ chức để cải thiện xây dựng website quản lý thông tin nhân sự trong doanh nghiệp.
Tổng quan về phỏng vấn
- Chúng tôi cần thu thập thông tin về các nghiệp vụ, thông tin và chức năng cần có trong quản lý thông tin nhân sự.
Chúng tôi rất mong nhận được sự hợp tác và hỗ trợ từ anh/chị để cung cấp thông tin cần thiết, nhằm xây dựng một hệ thống quản lý thông tin nhân sự hiệu quả và phù hợp.
- Những nghiệp vụ trong quản lý thông tin nhân sự:
1) Bạn có thể nêu ra các nghiệp vụ quản lý nhân sự chính mà doanh nghiệp thực hiện?
2) Theo bạn, cách để cải thiện hoặc tối ưu hóa các nghiệp vụ
30 phút quản lý thông tin nhân sự hiện tại là gì?
- Những thông tin trong quản lý thông tin nhân sự:
3) Đối với hồ sơ nhân viên, bạn cần quản lý những thông tin gì?
4) Bạn có nghĩ rằng việc quản lý quá trình nâng lương là cần thiết hay không?
5) Theo bạn, ngoài ra còn cần phải quản lý những thông tin nào khác?
- Các chức năng cần xây dựng trong quản lý thông tin nhân sự:
6) Theo bạn, những chức năng cơ bản cần phải có trong một hệ thống quản lý thông tin nhân sự hiệu quả là gì?
7) Ngoài các chức năng cơ bản trên, bạn nghĩ còn những chức năng nào khác cần phải có?
8) Bạn có bất kỳ ý tưởng nào khác về những chức năng đặc biệt sẽ được tích hợp vào hệ thống không?
- Xin cho phép được ghi âm quá trình phỏng vấn.
- Xin cảm ơn anh/chị vì đã cung cấp cho chúng tôi các thông tin có ích.
Dự kiến tổng cộng: 40 phút
Dự án: Xây dựng phần mềm (website) quản lý thông tin về nhân sự trong doanh nghiệp.
Người được hỏi: Nguyễn Anh Đức
Nơi làm việc: Công ty Cổ phần ABC
Người hỏi: Nguyễn Mạnh Cường Ngày: 25/10/2023
Câu 1: Bạn có thể nêu ra các nghiệp vụ quản lý nhân sự chính mà doanh nghiệp thực hiện?
Trả lời: Các nghiệp vụ quản lý nhân sự chính bao gồm quy trình tuyển dụng và sử dụng lao động, quản lý hồ sơ nhân viên.
Câu 2: Theo bạn, cách để cải thiện hoặc tối ưu hóa các nghiệp vụ quản lý thông tin nhân sự hiện tại là gì?
Hệ thống quản lý thông tin nhân sự hiện đại giúp tự động hóa quy trình, từ đó giảm thiểu công việc quản lý thủ công.
Câu 3: Đối với hồ sơ nhân viên, bạn cần quản lý những thông tin gì?
Hồ sơ nhân viên cần bao gồm thông tin cơ bản như họ tên, địa chỉ, căn cước, ngày sinh, giới tính, quê quán, số điện thoại, tên tài khoản, tên phòng ban, chức vụ, loại hợp đồng, trạng thái và ngày bắt đầu làm việc.
Câu 4: Bạn có nghĩ rằng việc quản lý quá trình nâng lương là cần thiết hay không?
Trả lời: Tôi thấy quản lý quá trình nâng lương là cần thiết để theo dõi và đánh giá hiệu suất làm việc của nhân viên.
Câu 5: Theo bạn, ngoài ra còn cần phải quản lý những thông tin nào không?
Trả lời: Có Ngoài ra còn cần phải quản lý những thông tin về hợp đồng, nghỉ phép, khen thưởng, kỷ luật, phòng ban và chức vụ.
Câu 6: Theo bạn, những chức năng cơ bản cần phải có trong một hệ thống quản lý thông tin nhân sự hiệu quả là gì?
Trả lời: Các chức năng cơ bản cần phải có bao gồm lưu trữ thông tin nhân viên, quản lý lương và quản lý nghỉ phép.
Câu 7: Ngoài các chức năng cơ bản trên, bạn nghĩ còn những chức năng nào khác cần phải có?
Để nâng cao hiệu quả quản lý, cần bổ sung các chức năng như quản lý hợp đồng, khen thưởng, kỷ luật, phòng ban và chức vụ.
Câu 8: Bạn có bất kỳ ý tưởng nào khác về những chức năng đặc biệt sẽ được tích hợp vào hệ thống không?
Tương lai có thể tích hợp các tính năng đặc biệt như chấm công bằng AI nhận diện khuôn mặt, giúp cải thiện tính chính xác và hiệu quả trong quản lý thời gian làm việc Người được phỏng vấn đã thể hiện sự hiểu biết sâu sắc về quản lý thông tin nhân sự và đóng góp tích cực vào việc xây dựng hệ thống quản lý thông tin hiệu quả cho doanh nghiệp.
2.2.2.1 Các yêu cầu chức năng và dữ liệu
Nhân viên có thể vào website để thực hiện:
Đăng nhập và quản lý thông tin cá nhân.
Xem danh sách về nhân viên, hợp đồng, nghỉ phép, khen thưởng, kỷ luật, phòng ban, chức vụ.
Tìm kiếm theo nhân viên, hợp đồng, nghỉ phép, khen thưởng, kỷ luật, phòng ban, chức vụ.
Người quản trị (Admin) có thể vào website để thực hiện:
Đăng nhập và quản lý thông tin cá nhân.
Tìm kiếm theo nhân viên, hợp đồng, nghỉ phép, khen thưởng, kỷ luật, phòng ban, chức vụ.
Bảo trì về nhân viên, hợp đồng, nghỉ phép, khen thưởng, kỷ luật, phòng ban, chức vụ.
Hệ thống cần hỗ trợ các chức năng lưu và quản lý thông tin về:
2.2.2.2 Các yêu cầu phi chức năng
Website cần đảm bảo hoạt động mượt mà trên các trình duyệt phổ biến và phải có khả năng hiển thị tốt trên các thiết bị di động, máy tính bảng và máy tính để bàn.
Giao diện cần phải đơn giản và dễ sử dụng để người dùng có thể tìm kiếm, truy cập và cập nhật thông tin nhân sự dễ dàng.
Để bảo vệ thông tin nhân sự, cần đảm bảo rằng người dùng chỉ được phép truy cập và chỉnh sửa những thông tin cần thiết theo quyền truy cập của họ.
Website cần hiển thị đa ngôn ngữ với 2 ngôn ngữ: tiếng Việt, tiếng Anh.
Để đảm bảo hiệu suất tối ưu cho website, cần thiết kế để phục vụ nhiều người dùng truy cập đồng thời Bên cạnh đó, việc cập nhật dữ liệu nhanh chóng là rất quan trọng nhằm duy trì tính chính xác của thông tin.
Phân tích hệ thống
Tác nhân “Người dùng” bao gồm “Admin” và “Nhân viên”.
Quan ly thong tin ca nhan
Quan ly chuc nang Quan ly phong ban Quan ly nang luong
Xem qua trinh cong tac
Hình 2-6 Biểu đồ use case tổng quát
2.3.1.1 Biểu đồ use case Đăng nhập
Hình 2-7 Biểu đồ use case Đăng nhập
2.3.1.2 Biểu đồ use case Đổi mật khẩu
Hình 2-8 Các use case thứ cấp
2.3.1.3 Biểu đồ use case Quản lý nhân viên
Hình 2-9 Biểu đồ use case Quản lý nhân viên
2.3.1.4 Biểu đồ use case Quản lý hợp đồng
Hình 2-10 Biểu đồ use case Quản lý hợp đồng
2.3.1.5 Biểu đồ use case Xem bảng lương
Hình 2-11 Biểu đồ use case Xem bảng lương
2.3.1.6 Biểu đồ use case Quản lý nâng lương
Hình 2-12 Biểu đồ use case Quản lý nâng lương
2.3.1.7 Biểu đồ use case Xem quá trình công tác
Hình 2-13 Biểu đồ use case Xem quá trình công tác
2.3.1.8 Biểu đồ use case Quản lý khen thưởng
Hình 2-14 Biểu đồ use case Quản lý khen thưởng
2.3.1.9 Biểu đồ use case Quản lý kỷ luật
Hình 2-15 Biểu đồ use case Quản lý kỷ luật
2.3.1.10 Biểu đồ use case Quản lý nghỉ phép
Hình 2-16 Biểu đồ use case Quản lý nghỉ phép
2.3.1.11 Biểu đồ use case Quản lý phòng ban
Hình 2-17 Biểu đồ use case Quản lý phòng ban
2.3.1.12 Biểu đồ use case Quản lý chức vụ
Hình 2-18 Biểu đồ use case Quản lý chức vụ
2.3.1.13 Biểu đồ use case Quản lý tài khoản
Hình 2-19 Biểu đồ use case Quản lý tài khoản
2.3.1.14 Biểu đồ use case Quản lý thông tin cá nhân
Hình 2-20 Biểu đồ use case Quản lý thông tin cá nhân
2.3.1.15 Biểu đồ use case Quản lý quyền
Hình 2-21 Biểu đồ use case Quản lý quyền
2.3.1.16 Biểu đồ use case Quản lý chức năng
Hình 2-22 Biểu đồ use case Quản lý chức năng
2.3.1.17 Biểu đồ use case Tìm kiếm thông tin
Tim kiem luong Tim kiem hop dong
Nhan vien Tim kiem khen thuong
Hình 2-23 Biểu đồ use case Tìm kiếm thông tin
2.3.1.18 Quan hệ giữa các use case
Quan ly thong tin ca nhan
Quan ly chuc nang Quan ly phong ban
Hình 2-24 Quan hệ giữa các use case
2.3.2 Mô tả chi tiết các use case
2.3.2.1 Mô tả use case Đăng nhập
1 Tên use case Đăng nhập.
Use case này cho phép nhân viên/ người quản trị đăng nhập vào tài khoản.
1) Use case này bắt đầu khi nhân viên/ người quản trị nhập tên tài khoản, mật khẩu trên màn hình đăng nhập và kích chuột vào nút
Khi người dùng thực hiện "Đăng nhập", hệ thống sẽ kiểm tra thông tin chi tiết trong bảng TAIKHOAN và hiển thị giao diện phù hợp với quyền hạn của người dùng trên màn hình Quá trình này đánh dấu sự kết thúc của use case.
1) Tại bước 1 trong luồng cơ bản, nếu người dùng nhập sai hoặc để trống tên đăng nhập hay mật khẩu thì hệ thống sẽ hiển thị một thông báo
“Something error” Quay lại bước 1 trong luồng cơ bản.
2) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case, nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo “Something error” và use case kết thúc.
4 Các yêu cầu đặc biệt
Use case này được dùng để phân quyền.
Các quyền được kiểm soát theo vai trò nhân viên và người quản trị.
Người dùng cần phải có một tài khoản trong hệ thống.
Nếu use case thành công, người dùng sẽ đăng nhập vào hệ thống và sử dụng các chức năng theo vai trò của mình; ngược lại, trạng thái hệ thống sẽ không thay đổi.
2.3.2.2 Mô tả use case Quản lý nhân viên
Use case này cho phép người quản trị xem, thêm, sửa, xóa thông tin nhân viên.
1) Use case này bắt đầu khi người quản trị kích chuột vào mục “Quản lý nhân viên” trên thanh menu và kích vào mục “Danh sách nhân viên”.
Hệ thống sẽ truy xuất thông tin chi tiết của nhân viên, bao gồm mã nhân viên, tên, giới tính, ngày sinh, và ngày vào làm từ bảng NHANVIEN Đồng thời, tên chức vụ sẽ được lấy từ bảng CHUCVU và tên phòng ban từ bảng PHONGBAN trong cơ sở dữ liệu, sau đó hiển thị danh sách nhân viên lên màn hình.
2) Thêm nhân viên: a) Người quản trị kích vào nút “Thêm nhân viên” trên cửa sổ danh sách nhân viên Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết cho nhân viên gồm họ tên, địa chỉ, CMND, ngày sinh, giới tính, quê quán, số điện thoại, tên tài khoản, mật khẩu, tên phòng ban, tên chức vụ, hệ số lương, lương cơ bản, ảnh. b) Người quản trị nhập thông tin của nhân viên và kích vào nút
Khi thêm nhân sự, hệ thống sẽ tự động tạo một mã nhân viên mới và cập nhật thông tin trong bảng NHANVIEN Đồng thời, các bảng liên quan cũng sẽ được cập nhật, và danh sách nhân viên mới sẽ được hiển thị.
3) Sửa nhân viên: a) Người quản trị kích vào icon sửa trên một dòng nhân viên Hệ thống sẽ lấy thông tin cũ của nhân viên được chọn gồm: họ tên, địa chỉ, CMND, ngày sinh, giới tính, quê quán, số điện thoại, ngày vào làm, ảnh từ bảng NHANVIEN, tên tài khoản, mật khẩu, trạng thái từ bảng TAIKHOAN, tên phòng ban từ bảng PHONGBAN, tên chức vụ từ bảng CHUCVU, loại hợp đồng từ bảng HOPDONG và hiển thị lên màn hình. b) Người quản trị nhập thông tin mới nhân viên cần sửa kích vào nút
Hệ thống sẽ cập nhật thông tin của nhân viên được chọn trong bảng NHANVIEN cùng với các bảng liên quan, sau đó hiển thị danh sách nhân viên đã được cập nhật.
4) Xóa nhân viên: a) Người quản trị kích vào icon xóa trên một dòng nhân viên Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa. b) Người quản trị kích vào nút “CHẤP NHẬN” Hệ thống sẽ xóa nhân viên được chọn khỏi bảng NHANVIEN và cập nhật các bảng liên quan và hiển thị danh sách các nhân viên đã cập nhật.
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập thông tin nhân viên không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi Người quản trị có thể nhập lại để tiếp tục hoặc kích vào nút “Hủy bỏ” để kết thúc.
2) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào nút “Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa tương ứng và hiển thị danh sách các nhân viên trong bảng
3) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“HỦY BỎ” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách các nhân viên trong bảng NHANVIEN.
4) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sử dữ liệu thì hệ thống sẽ hiển thị một thông báo “Something error” và use case kết thúc.
4 Các yêu cầu đặc biệt
Use case này chỉ cho phép người quản trị hệ thống thực hiện.
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi có thể thực hiện use case.
Nếu use case kết thúc thành công thì thông tin về nhân viên sẽ được cập nhập trong cơ sở dữ liệu.
2.3.2.3 Mô tả use case Quản lý hợp đồng
Use case này cho phép người quản trị xem, thêm, xóa thông tin hợp đồng.
1) Use case này bắt đầu khi người quản trị kích chuột vào mục “Quản lý nhân viên” trên thanh menu và kích vào mục “Danh sách hợp đồng”.
Hệ thống sẽ truy xuất thông tin chi tiết từ bảng HOPDONG trong cơ sở dữ liệu, bao gồm mã hợp đồng, loại hợp đồng, ngày bắt đầu, ngày kết thúc và ghi chú, sau đó hiển thị danh sách các hợp đồng lên màn hình.
2) Thêm hợp đồng: a) Người quản trị kích vào nút “Thêm mới hợp đồng” trên cửa sổ danh sách hợp đồng Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết cho hợp đồng gồm tên người ứng tuyển, ngày bắt đầu, loại hợp đồng, ghi chú. b) Người quản trị nhập thông tin của hợp đồng và kích vào nút
“Thêm” Hệ thống sẽ sinh một mã hợp đồng mới, tạo một hợp đồng trong bảng HOPDONG và hiển thị danh sách các hợp đồng đã được cập nhật.
3) Xóa hợp đồng: a) Người quản trị kích vào icon xóa trên một dòng hợp đồng Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa. b) Người quản trị kích vào nút “CHÂP NHẬN” Hệ thống sẽ xóa hợp đồng được chọn khỏi bảng HOPDONG và hiển thị danh sách các hợp đồng đã cập nhật.
Thiết kế hệ thống
2.4.1 Phân tích các use case
2.4.1.1 Phân tích use case Đăng nhập
Biểu đồ trình tự Basic Flow
: NguoiDung : NguoiDung : DangNhapUI : DangNhapUI : DangNhapController : DangNhapController : Model : Model 1: Nhap thong tin tai khoan, ma t khau
3: Lay thong tin tai khoan( )
6: so s ánh m at khau va kiem tra trang thai tai khoan() 7: tra ve us er va xac dinh qu yen d ang n hap
9: hien thi menu quan tri( )8: hien thi thong bao dang nhap thanh cong( )
Biểu đồ trình tự Alternative Flow
: NguoiDung : NguoiDung : DangNhapUI : DangNhapUI : DangNhapController : DangNhapController : Model : Model
1: kiem tra thong tin nguoi dung nhap( )
3: hien thi thong bao loi, yeu cau nguoi dung nhap lai( )
6: hien thi thong bao loi tai khoan khong ton tai( )
Khi người dùng nhấn nút "Đăng nhập", hệ thống sẽ hiển thị menu quản trị Nếu có lỗi xảy ra, thông báo sẽ yêu cầu người dùng nhập lại thông tin Nếu tài khoản không tồn tại, hệ thống sẽ thông báo lỗi tương ứng Ngược lại, nếu đăng nhập thành công, người dùng sẽ nhận được thông báo xác nhận và quyền truy cập sẽ được xác định.
Dưới đây là các hàm quan trọng trong hệ thống quản lý nhân viên: `getUser ()` và `getNhanVien()` dùng để lấy thông tin nhân viên; `cap nhat lai bang NHANVIEN()` để cập nhật dữ liệu nhân viên; `getKhenThuongs()` và `cap nhat lai bang KHENTHUONG()` để quản lý khen thưởng; `getKyLuats()` và `cap nhat lai bang KYLUAT()` để theo dõi kỷ luật; `getPhongBans()` và `cap nhat lai bang PhongBans()` để quản lý phòng ban; `getThongTinCaNhan()` để lấy thông tin cá nhân; `getLuongsByNhanVien()` và `getNangLuongsByNhanVien()` để cập nhật bảng lương; `lay thong tin ban ghi duoc chon()` để lấy thông tin bản ghi cụ thể; `getQuaTrinhCongTacbyUser ()` để theo dõi quá trình công tác; `getTaiKhoansByNhanVien()` và `cap nhat lai bang TAIKHOAN()` để quản lý tài khoản nhân viên; `cap nhat lai trang thai TaiKhoan, an khoi danh sach()` để cập nhật trạng thái tài khoản; cuối cùng, `getHopDongs()` và `cap nhap lai bang HOPDONG()` để quản lý hợp đồng.
Lay thong tin tai khoan() kiem tra thong tin nguoi dung nhap() so sánh mat khau va kiem tra trang thai tai khoan()
2.4.1.2 Phân tích use case Quản lý nhân viên
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Danh sach nhan vien" trong "Q uan ly nhan vien"( )
2: lay danh sach nhan vien( )
4: tra ve danh sach nhan vien
6: hien thi danh sach nhan vien( )
8: hien thi man hinh nhap thong tin moi( )
9: nhap thong tin cho nhan vien moi
12: cap nhat lai cac bang lien quan( )
13: tra ve danh sach nhan vien da cap nhat
15: hien thi thong bao them thanh cong( )
16: hien thi danh sach nhan vien sau khi da cap nhat( )
17: chon nhan vien can sua
19: lay thong tin nhan vien duoc chon( )
21: tra ve nhan vien duoc chon
23: hien thi thong tin cua nhan vien duoc c hon( )
24: nguoi dung nhap thong tin moi c ho nhan vien
27: cap nhat lai bang NHANVIEN( )
28: tra ve danh sach nhan vien sau khi sua
30: hien thi danh sach nhan vien sau khi da cap nhat( )
31: chon nhan vien can xoa
35: xoa nhan vien duoc chon( )
36: cap nhat lai bang NHANVIEN( )
37: tra ve danh sach nhan vien sau khi xoa
33: hien thi man hinh xac nhan xoa( )
39: hien thi danh sach nhan vien sau khi da cap nhat( )
Biểu đồ trình tự Alternative Flow
4: kiem tra thong tin nguoi dung nhap( )
5: tra ve thong bao loi phu hop
6: hien thi man hinh thong bao loi( )
2: tra ve thong bao loi ket noi
3: hien thi man hinh thong bao loi( )
Trong giao diện QuanLyNhanVienUI, khi người dùng nhấn vào "Danh sách nhân viên", hệ thống sẽ hiển thị danh sách nhân viên hiện có Tiếp theo, khi nhấn "Thêm nhân viên", màn hình nhập thông tin mới sẽ xuất hiện Sau khi thêm nhân sự thành công bằng cách nhấn "Thêm nhân sự", danh sách nhân viên sẽ được cập nhật Nếu người dùng muốn chỉnh sửa thông tin, họ chỉ cần nhấn vào biểu tượng sửa, và thông tin của nhân viên được chọn sẽ hiển thị Khi hoàn tất chỉnh sửa, nhấn "Lưu" để lưu thay đổi Để xóa một nhân viên, người dùng nhấn vào biểu tượng xóa, sau đó sẽ thấy màn hình xác nhận xóa Cuối cùng, khi nhấn "Chấp nhận", nếu có lỗi xảy ra, màn hình thông báo lỗi sẽ hiển thị.
Để quản lý thông tin nhân viên hiệu quả, các hàm như getUser (), getNhanVien(), và cap nhat lai bang NHANVIEN() được sử dụng để lấy và cập nhật dữ liệu nhân viên Các hàm getKhenThuongs() và cap nhat lai bang KHENTHUONG() cho phép truy xuất và cập nhật thông tin khen thưởng Tương tự, getKyLuats() và cap nhat lai bang KYLUAT() giúp quản lý thông tin kỷ luật Để theo dõi thông tin phòng ban, các hàm getPhongBans() và cap nhat lai bang PHONGBAN() được áp dụng Thông tin cá nhân được truy xuất qua getThongTinCaNhan() và cập nhật qua bang NHANVIEN() Để quản lý lương, các hàm getLuongsByNhanVien() và getNangLuongsByNhanVien() hỗ trợ cập nhật thông tin trong LUONG_NHANVIEN và NANGLUONG() Việc lấy thông tin qua getQuaTrinhCongTacbyUser () và getTaiKhoansByNhanVien() cũng rất quan trọng, cùng với việc cập nhật trạng thái tài khoản qua cap nhat lai bang TAIKHOAN() và an khoi danh sach() Cuối cùng, getHopDongs() cho phép cập nhật thông tin hợp đồng qua bang HOPDONG().
QuanLyNhanVienController quản lý danh sách nhân viên với các chức năng như lấy danh sách nhân viên, thêm nhân viên mới, lấy thông tin nhân viên được chọn, sửa thông tin nhân viên, xóa nhân viên được chọn và kiểm tra thông tin người dùng nhập vào.
2.4.1.3 Phân tích use case Quản lý hợp đồng
Biểu đồ trình tự Basic Flow
: Model : Model 1: cli ck"Danh sach hop dong" t rong "Quan ly nhan vien"( )
2: lay thong tin danh sach hop dong( )
4: tra ve danh sach hop dong
6: hien thi danh sach hop dong( )
7: clic k "Them moi hop dong"( )
8: hien thi man hinh nhap hop dong moi( )
9: nhap thong tin cho hop dong moi
12: cap nhap lai bang HOPDONG( ) 13: tra ve danh sach hop dong sau khi da them 14: return ket qua
15: hien thi danh sach hop dong sau khi da cap nhat( )
16: chon ban ghi muon xoa
18: hien thi man hinh xac nhan xoa( )
20: xoa hop dong da chon( )
21: cap nhap lai bang HOPDONG( )
22: tra ve danh sach hop dong sau khi xoa
24: hien thi danh sach hop dong sau khi da cap nhat( )
Trong phần "Quản lý nhân viên", khi người dùng nhấn vào "Danh sách hợp đồng", danh sách các hợp đồng sẽ được hiển thị Tiếp theo, khi nhấn "Thêm mới hợp đồng", màn hình nhập hợp đồng mới sẽ xuất hiện Sau khi nhập thông tin và nhấn "Thêm", danh sách hợp đồng sẽ được cập nhật Nếu người dùng muốn xóa hợp đồng, họ có thể nhấn vào biểu tượng xóa, sau đó màn hình xác nhận xóa sẽ hiện ra, và khi nhấn "Chấp nhận", hợp đồng sẽ bị xóa.
Mô hình quản lý nhân viên bao gồm các hàm như getUser (), getNhanVien(), và cap nhat lai bang NHANVIEN() để cập nhật thông tin nhân viên Các hàm getKhenThuongs() và cap nhat lai bang KHENTHUONG() cho phép lấy và cập nhật thông tin khen thưởng Để quản lý kỷ luật, có các hàm getKyLuats() và cap nhat lai bang KYLUAT() Hệ thống cũng hỗ trợ quản lý phòng ban thông qua getPhongBans() và cap nhat lai bang PHONGBAN() Thông tin cá nhân được cập nhật bằng getThongTinCaNhan() và cap nhat bang lai bang NHANVIEN() Các hàm getLuongsByNhanVien() và getNangLuongsByNhanVien() giúp quản lý lương nhân viên với cap nhat lai bang LUONG_NHANVIEN() Để lấy thông tin hợp đồng, có getHopDongs() và cap nhap lai bang HOPDONG() Hệ thống cũng cho phép lấy thông tin tài khoản qua getTaiKhoansByNhanVien() và cap nhat lai bang TAIKHOAN(), đồng thời cập nhật trạng thái tài khoản và ẩn khỏi danh sách.
QuanLyHopDongController lay thong tin danh sach hop dong() them hop dong moi() xoa hop dong da chon()
2.4.1.4 Phân tích use case Xem bảng lương
Biểu đồ trình tự Basic Flow
: NguoiDung : NguoiDung : XembangluongUI : XembangluongUI : XembangluongController : XembangluongController : Model : Model
1: click"Danh sach nhan vien" trong "Quan ly nhan vien"( )
5: lay danh sach bang luong( )
7: tra ve danh sach bang luong cua nhan vien
9: hien thi danh sach luong nhan vien( )
3: nguoi dung chon thang, nam
XembangluongUI click"Danh sach nhan vien" trong "Quan ly nhan vien"() click"Xem bang luong"() hien thi danh sach luong nhan vien() click icon tim kiem()
Mô hình quản lý nhân viên bao gồm các chức năng như: lấy thông tin nhân viên (getUser , getNhanVien), cập nhật bảng NHANVIEN, lấy thông tin khen thưởng (getKhenThuongs), cập nhật bảng KHENTHUONG, lấy thông tin kỷ luật (getKyLuats), cập nhật bảng KYLUAT, và lấy thông tin phòng ban (getPhongBans), cập nhật bảng PHONGBAN Ngoài ra, hệ thống cũng cho phép lấy thông tin cá nhân (getThongTinCaNhan) và cập nhật lại bảng NHANVIEN, lấy lương (getLuongsByNhanVien) và nâng lương (getNangLuongsByNhanVien), cập nhật bảng LUONG_NHANVIEN và NANGLUONG Các chức năng khác bao gồm lấy thông tin quá trình công tác (getQuaTrinhCongTacbyUser ), lấy tài khoản nhân viên (getTaiKhoansByNhanVien), cập nhật trạng thái tài khoản (cap nhat lai trang thai TaiKhoan), và quản lý hợp đồng (getHopDongs, cap nhap lai bang HOPDONG).
XembangluongController lay danh sach bang luong()
2.4.1.5 Phân tích use case Quản lý nâng lương
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Danh sach nhan vien" trong "Quan ly nhan vien"( )
2: click "Xem bang nang luong"( )
3: lay danh sach nang luong( )
5: tra ve danh sach nhan vien da duoc nang luong 6: tra ve ket qua
7: hien thi danh sach nhan vien da duoc nang luong( )
8: cli ck"Nang luong nhan vien"( )
9: hien thi man hinh nhap luong moi c ho nhan vien( )
10: nhap he so luong moi cho nhan vien
12: cap nhat lai bang LUONG_NHANVIEN va NANGLUONG( ) 13: tra ve lai danh sach nang luong sau khi them
15: hien thi danh sach nang luong sau khi cap nhat( )
16: Chon ban ghi muon sua
18: lay thong tin ban ghi duoc chon( )
19: lay thong tin ban ghi duoc chon( )
20: tra ve chi tiet thong tin nang luong cua ban ghi duoc chon
22: hien thi chi tiet nang luong cua ban ghi duoc chon( )
23: nhap thong tin can sua
25: sua nang luong nhan vien( )
26: cap nhat lai bang LUONG_NHANVIEN va NANGLUONG( )
27: tra ve danh sach nang luong sau khi sua
29: hien thi danh sach nang luong sau khi cap nhat( )
Trong hệ thống QuanLyNangLuongUI, người dùng có thể nhấp vào "Danh sách nhân viên" trong phần "Quản lý nhân viên" để xem bảng năng lượng hiện có Tiếp theo, khi nhấp vào "Năng lượng nhân viên", màn hình nhập năng lượng mới cho nhân viên sẽ hiển thị Sau khi cập nhật, danh sách năng lượng sẽ được hiển thị lại Người dùng cũng có thể nhấp vào biểu tượng "Sửa" để xem chi tiết năng lượng của bản ghi đã chọn và cuối cùng nhấn "Lưu" để lưu các thay đổi.
Hàm getUser () cho phép lấy thông tin người dùng, trong khi getNhanVien() giúp truy xuất dữ liệu nhân viên Chức năng cập nhật bảng NHANVIEN() và KHENTHUONG() được thực hiện qua getKhenThuongs() và getKyLuats(), cùng với việc cập nhật bảng KYLUAT() Để lấy thông tin về phòng ban, sử dụng getPhongBans() và cập nhật bảng PHONGBAN() Hàm getThongTinCaNhan() cũng cập nhật lại bảng NHANVIEN() Để lấy thông tin lương, có thể sử dụng getLuongsByNhanVien() và getNangLuongsByNhanVien(), đồng thời cập nhật bảng LUONG_NHANVIEN và NANGLUONG() Các thông tin khác như quá trình công tác, tài khoản và hợp đồng cũng có thể được truy xuất và cập nhật qua các hàm tương ứng.
QuanLyNangLuongController lay danh sach nang luong()
Them nang luong moi() lay thong tin ban ghi duoc chon() sua nang luong nhan vien()
2.4.1.6 Phân tích use case Xem quá trình công tác
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Thong tin ca nhan"( )
2: click"Qua trinh cong tac"( )
3: lay qua trinh cong tac cua tai khoan( )
5: tra ve danh sach qua trinh cong tac cua tai khoan
7: hien thi qua trinh cong tac cua tai khoan( )
XemQuaTrinhCongTacUI click"Thong tin c a nhan"() click"Qua trinh cong tac"() hien thi qua trinh cong tac cua tai khoan()
Mô hình bao gồm các hàm như getUser (), getNhanVien(), và các chức năng cập nhật bảng NHANVIEN() Ngoài ra, có các hàm như getKhenThuongs(), getKyLuats() để cập nhật bảng KHENTHUONG và KYLUAT Các chức năng quản lý phòng ban được thực hiện qua getPhongBans() và cập nhật bảng PHONGBAN() Thông tin cá nhân được lấy qua getThongTinCaNhan() và cập nhật lại bảng NHANVIEN() Các hàm getLuongsByNhanVien() và getNangLuongsByNhanVien() giúp cập nhật bảng LUONG_NHANVIEN() Để lấy thông tin bản ghi được chọn, sử dụng getQuaTrinhCongTacbyUser () và getTaiKhoansByNhanVien() Cuối cùng, các chức năng như getHopDongs() cho phép cập nhật lại bảng HOPDONG.
XemQuaTrinhCongTacController lay qua trinh cong tac cua tai khoan()
2.4.1.7 Phân tích use case Quản lý khen thưởng
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Danh sach khen thuong" trong "Quan ly nhan vien"( )
2: lay danh sach khen thuong( )
3: getKhenThuongs( ) 4: tra ve danh sach khen thuong 5: tra ve ket qua
6: hien thi danh sach khen thuong( )
7: click"Them moi khen thuong"( )
8: hien thi man hinh nhap khen thuong( )
9: nhap thong tin k hen thuong moi
11: Them khen thuong moi( ) 10: click"Them"( )
12: cap nhat lai bang KHENTHUONG( ) 13: tra ve danh sach khen thuong sau khi them 14: tra ve ket qua
15: hien thi danh sach khen thuong sau khi cap nhat( )
16: chon khen thuong can sua
18: lay thong tin khen thuong duoc chon( )
19: getKhenThuong( ) 20: tra ve khen thuong duoc chon 21: tra ve ket qua
22: hien thi thong tin khen thuong duoc chon( )
23: nhap thong tin khen thuong moi
26: cap nhat lai bang KHENTHUONG( )
27: tra ve danh sach k hen thuong sau khi s ua 28: tra ve ket qua
29: hien thi danh sach khen thuong sau khi cap nhat( )
30: chon khen thuong can xoa
34: Xoa khen thuong duoc chon( )
35: cap nhat lai bang KHENTHUONG( ) 36: tra ve danh sach k hen thuong sau khi x oa 37: tra ve ket qua
38: hien thi danh sach khen thuong sau khi cap nhat( )
32: hien thi man hinh xac nhan xoa( )
Biểu đồ trình tự Alternative Flow
: Admin : Admin : QuanLyKhenThuongUI : QuanLyK henThuongUI :
4: kiem tra thong tin nguoi dung nhap( )
2: tra ve thong bao loi ket noi 3: hien thi thong bao loi ket noi( )
5: tra ve thong bao loi phu hop
6: hien thi thong bao loi phu hop( )
Trong hệ thống quản lý khen thưởng, người dùng có thể truy cập danh sách khen thưởng bằng cách nhấp vào "Danh sách khen thưởng" trong phần "Quản lý nhân viên" Để thêm khen thưởng mới, người dùng chọn "Thêm mới khen thưởng", sau đó nhập thông tin khen thưởng và nhấn "Thêm" để cập nhật danh sách Để chỉnh sửa thông tin khen thưởng đã chọn, người dùng nhấn vào biểu tượng "Sửa" và sau đó lưu lại thay đổi bằng cách nhấn "Lưu" Nếu muốn xóa khen thưởng, người dùng nhấn vào biểu tượng "Xóa", tuy nhiên, nếu có lỗi kết nối hoặc lỗi không phù hợp xuất hiện, hệ thống sẽ hiển thị thông báo tương ứng và yêu cầu xác nhận xóa Người dùng chỉ cần nhấn "Chấp nhận" để hoàn tất quá trình xóa.
Mô hình bao gồm các hàm như getUser (), getNhanVien(), và cập nhật bảng NHANVIEN() Các hàm khác như getKhenThuongs(), getKyLuats(), và getPhongBans() cũng thực hiện việc cập nhật các bảng tương ứng như KHENTHUONG(), KYLUAT(), và PhongBans() Thêm vào đó, getThongTinCaNhan() cập nhật lại bảng NHANVIEN(), trong khi getLuongsByNhanVien() và getNangLuongsByNhanVien() cập nhật bảng LUONG_NHANVIEN() Hàm lay thong tin ban ghi duoc chon() và getQuaTrinhCongTacbyUser () cung cấp thông tin cần thiết, cùng với getTaiKhoansByNhanVien() và getTaiKhoan() để cập nhật bảng TAIKHOAN() Cuối cùng, getHopDongs() cũng thực hiện việc cập nhật bảng HOPDONG.
QuanLyKhenThuongController lay danh sach khen thuong()
Them khen thuong moi() lay thong tin khen thuong duoc chon() sua k hen thuong()
Xoa khen thuong duoc chon() kiem t ra thong tin nguoi dung nhap()
2.4.1.8 Phân tích use case Quản lý kỷ luật
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Danh sach ky luat" trong "Quan ly nhan vien"( )
2: lay danh sach ky luat( )
4: tra ve danh sach ky luat 5: tra ve ket qua
6: hien thi danh sach ky luat( )
7: click"Them moi ky luat"( )
8: hien thi man hinh nhap thong tin ky luat( )
9: nguoi dung nhap thong tin ky luat moi
12: cap nhat lai bang KYLUAT( ) 13: tra ve danh sach ky luat sau khi them moi
15: hien thi danh sach ky luat sau khi cap nhat( )
16: chon ky luat can sua
18: lay thong tin ky luat duoc chon( )
20: tra ve thong tin ky luat duoc chon
22: hien thi thong tin cua ky luat duoc chon( )
23: nhap thong tin moi cho ky luat
25: sua thong tin ky luat( )
26: cap nhat lai bang KYLUAT( ) 27: tra ve danh sach ky luat sau khi sua
29: hien thi danh sach ky luat sau khi cap nhat( )
30: chon ky luat muon xoa
32: hien thi man hinh xac nhan xoa( )
34: Xoa ky luat duoc chon( )
35: cap nhat lai bang KYLUAT( )
36: tra ve danh sach ky luat sau khi xoa 37: tra ve ket qua
38: hien thi danh sach ky luat sau khi cap nhat( )
Biểu đồ trình tự Alternative Flow
2: tra ve thong bao loi ket noi
3: hien thi man hinh thong bao loi( )
4: kiem tra thong tin nguoi dung nhap( )
5: tra ve thong bao loi thong tin nhap
6: Hien thi man hinh thong bao loi phu hop( )
Trong phần quản lý kỷ luật nhân viên, người dùng có thể nhấp vào "Danh sách kỷ luật" để xem danh sách hiện có Khi chọn "Thêm mới kỷ luật", màn hình nhập thông tin kỷ luật sẽ xuất hiện Sau khi nhấn "Thêm mới", danh sách kỷ luật sẽ được cập nhật Để chỉnh sửa thông tin kỷ luật, người dùng chỉ cần nhấp vào biểu tượng "Sửa", sau đó nhấn "Lưu" để lưu thay đổi Nếu muốn xóa kỷ luật, nhấn vào biểu tượng "Xóa" để hiển thị màn hình xác nhận xóa, và chọn "Chấp nhận" Nếu có lỗi xảy ra, màn hình thông báo lỗi sẽ được hiển thị.
Hien thi man hinh thong bao loi phu hop()
Mô hình getUser () và getNhanVien() cho phép cập nhật bảng NHANVIEN() Các hàm getKhenThuongs() và getKyLuats() cung cấp thông tin về khen thưởng và kỷ luật, đồng thời cập nhật bảng KHENTHUONG() và KYLUAT() Để quản lý thông tin phòng ban, sử dụng getPhongBans() và getPhongBan(), cập nhật bảng PHONGBAN() Hàm getThongTinCaNhan() cập nhật lại bảng NHANVIEN() Các hàm getLuongsByNhanVien() và getNangLuongsByNhanVien() giúp lấy và cập nhật thông tin lương trong bảng LUONG_NHANVIEN() Để lấy thông tin bản ghi được chọn, sử dụng getQuaTrinhCongTacbyUser () và getTaiKhoansByNhanVien() để quản lý tài khoản, cập nhật bảng TAIKHOAN() và trạng thái tài khoản, cũng như ẩn khỏi danh sách Cuối cùng, getHopDongs() cho phép cập nhật lại bảng HOPDONG().
QuanLyKyLuatControllor lay danh sach ky luat() them moi ky luat() lay thong tin ky luat duoc chon() sua thong tin ky luat()
Xoa ky luat duoc chon() kiem tra thong tin nguoi dung nhap()
2.4.1.9 Phân tích use case Quản lý phòng ban
Biểu đồ trình tự Basic Flow
: Model : Model 1: click"Danh sach phong b an" trong "Quan l y phong ba n"( )
2: lay dan h sach phong ban( )
4: tra ve danh sach phong ban
6: hien thi danh sach phong ban( )
7: click"Them moi phong ban"( )
8: hien thi man hinh nhap pho ng ban moi( )
9: nhap thong tin moi cho phong ban
12: cap nhat lai bang PhongBans( ) 13: tra ve danh sach phon g ban sau khi them
15: hi en thi d anh sach phon g ban sau khi cap nh at( )
16: chon phong ban can sua
18: lay thong tin phong ban duoc chon( )
19: getPhongBan( ) 20: tra ve phong ban duoc chon
22: hien thi thong tin phong ban duoc chon( )
23: nhap thong tin moi cho phong ban
25: sua pho ng ban duoc chon( )
26: cap nha t lai bang PHONGBAN( )
27: tra ve danh sach phong ban sau khi sua
29: hi en thi danh sach phong ban sau khi cap nh at( )
30: chon phong ban can xoa
32: hien thi man hinh xac nhan xoa( )
34: Xoa phong ban duoc chon( )
35: cap nha t lai bang PHONGBAN( )
36: tra ve danh sach phon g ban sau khi xoa
38: hi en thi danh sach phong ban sau khi cap nh at( )
TRIỂN KHAI VÀ KIỂM THỬ HỆ THỐNG 1 14 3.1 Triển khai hệ thống
Công nghệ triển khai
HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu chính dùng để xây dựng cấu trúc và nội dung cơ bản cho các trang web Ngôn ngữ này áp dụng các thẻ để xác định các phần tử trên trang, bao gồm tiêu đề, đoạn văn, hình ảnh, bảng và nhiều thành phần khác.
CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ định dạng quan trọng giúp kiểm soát trình bày và bố cục của trang web Nó sử dụng các thuộc tính để xác định cách hiển thị các phần tử HTML, bao gồm màu sắc, kích thước và vị trí.
JavaScript là một ngôn ngữ lập trình được sử dụng để tạo ra các tính năng động và tương tác trên một trang web.
Vai trò của HTML, CSS, JavaScript trong việc xây dựng trang web
HTML tạo ra cấu trúc và nội dung cơ bản của trang web.
CSS kiểm soát trình bày, định dạng và bố cục của trang web.
JavaScript tạo ra các tính năng động và tương tác trên trang web.
React JS là thư viện JavaScript mã nguồn mở do Facebook và cộng đồng phát triển toàn cầu phát triển Nó được sử dụng chủ yếu để tạo ra giao diện người dùng (UI) cho các ứng dụng web và di động.
Material UI (MUI) là thư viện mã nguồn mở dành cho React Components, được phát triển bởi Google Thư viện này cung cấp một bộ các component sẵn có, giúp dễ dàng xây dựng giao diện người dùng (UI) cho ứng dụng web.
MUI được phát triển dựa trên Material Design, một ngôn ngữ thiết kế do Google sáng tạo Material Design cung cấp các nguyên tắc và hướng dẫn nhằm tạo ra giao diện người dùng thân thiện và hiệu quả.
Node.js là nền tảng mã nguồn mở, đa nền tảng, lý tưởng cho việc phát triển ứng dụng mạng Được viết bằng JavaScript, Node.js áp dụng kiến trúc hướng sự kiện và I/O không đồng bộ, giúp tạo ra các ứng dụng hiệu suất cao và dễ dàng mở rộng.
Node.js được sử dụng để xây dựng nhiều loại ứng dụng mạng khác nhau, bao gồm:
Ứng dụng web: Node.js được sử dụng để xây dựng các ứng dụng web có khả năng xử lý số lượng lớn người dùng đồng thời.
Node.js là nền tảng lý tưởng để phát triển các ứng dụng thời gian thực, bao gồm ứng dụng trò chuyện và ứng dụng phát trực tuyến, nhờ vào khả năng xử lý đồng thời và hiệu suất cao.
Ứng dụng IoT: Node.js được sử dụng để xây dựng các ứng dụng IoT, chẳng hạn như ứng dụng giám sát, ứng dụng điều khiển, v.v.
MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở, được phát triển trên nền tảng C++ Dữ liệu trong MongoDB được lưu trữ dưới dạng văn bản, sử dụng cấu trúc dữ liệu bao gồm các cặp giá trị và trường, tương tự như định dạng JSON.
MongoDB được sử dụng trong nhiều ứng dụng khác nhau, bao gồm:
Ứng dụng web: MongoDB thường được sử dụng để lưu trữ dữ liệu người dùng, dữ liệu sản phẩm, dữ liệu đơn hàng, v.v.
Ứng dụng di động: MongoDB được sử dụng để lưu trữ dữ liệu người dùng, dữ liệu ứng dụng, dữ liệu định vị, v.v.
Ứng dụng IoT: MongoDB được sử dụng để lưu trữ dữ liệu từ các thiết bị IoT, chẳng hạn như dữ liệu cảm biến, dữ liệu video, v.v.
Ứng dụng phân tích dữ liệu: MongoDB có thể được sử dụng để lưu trữ và phân tích dữ liệu lớn.
Sản phẩm màn hình
Hình 3-27 Màn hình đăng nhập
3.1.2.2 Màn hình quản lý nhân viên
Hình 3-28 Màn hình quản lý nhân viên
3.1.2.3 Màn hình quản lý hợp đồng
Hình 3-29 Màn hình quản lý hợp đồng
3.1.2.4 Màn hình xem bảng lương
Hình 3-30 Màn hình xem bảng lương
3.1.2.5 Màn hình quản lý nâng lương
Hình 3-31 Màn hình quản lý nâng lương
3.1.2.6 Màn hình Xem quá trình công tác
Hình 3-32 Màn hình xem quá trình công tác
3.1.2.7 Màn hình quản lý khen thưởng
Hình 3-33 Màn hình quản lý khen thưởng
3.1.2.8 Màn hình quản lý kỷ luật
Hình 3-34 Màn hình quản lý kỷ luật
3.1.2.9 Màn hình quản lý phòng ban
Hình 3-35 Màn hình quản lý phòng ban
3.1.2.10 Màn hình quản lý thông tin cá nhân
Hình 3-36 Màn hình quản lý thông tin cá nhân
Kiểm thử hệ thống
3.2.1.1 Những chức năng được kiểm thử
Hệ thống Website quản lý thông tin về nhân sự trong doanh nghiệp gồm có một số chức năng cần được kiểm thử theo tài liệu đặc tả:
Tên chức năng Quyền áp dụng Mô tả Đăng nhập Admin/Nhân viên Kiểm tra chức năng đăng nhập vào hệ thống
Sửa thông tin cá nhân Admin/Nhân viên Kiểm tra chức năng sửa thông tin của tài khoản
Sửa nhân viên Admin Kiểm tra chức năng sửa danh sách nhân viên
Tìm kiếm nhân viên Admin/Nhân viên Kiểm tra chức năng tìm kiếm nhân viên Xóa khen thưởng Admin Kiểm tra chức năng xóa khen thưởng
3.2.1.2 Những giao diện được kiểm thử
Mốc công việc Sản phẩm Thời gian Bắt đầu Kết thúc
Lập kế hoạch kiểm thử Test plan
1 ngày 17/12/2023 18/12/2023 Xem lại các tài liệu Test plan
Thiết kế các testcase Test case
1 ngày 18/12/2023 19/12/2023 Viết các testcase Test case
Xem lại các testcase Test case
1 ngày 19/12/2023 20/12/2023 Thực thi các testcase Test case
Ghi nhận và đánh giá kết quả kiểm thử Test report 1 ngày 20/12/2023 21/12/2023
Người kiểm thử Nội dung Thời gian
Hà Thanh Chúc Đăng nhập 19/12/2023
Nguyễn Anh Đức Sửa thông tin cá nhân 19/12/2023 Đoàn Đại Dương Sửa nhân viên 19/12/2023
Hoàng Quốc Chiến Tìm kiếm nhân viên 19/12/2023
Nguyễn Mạnh Cường Xóa khen thưởng 19/12/2023
3.2.3 Bộ dữ liệu kiểm thử
Với chức năng Đăng nhập, có những test case sau:
- Test case 1: Kiểm tra người dùng nhập đúng tên tài khoản và mật khẩu thì hệ thống sẽ hiển thị màn hình theo đúng quyền của người dùng.
Trong trường hợp kiểm tra thứ hai, nếu người dùng không nhập tên tài khoản nhưng đã nhập mật khẩu, hệ thống sẽ hiển thị thông báo yêu cầu không được để trống tên tài khoản.
Trong trường hợp kiểm tra thứ ba, nếu người dùng không nhập mật khẩu nhưng đã điền tên tài khoản, hệ thống sẽ hiển thị thông báo yêu cầu không được để trống mật khẩu.
Kiểm tra trường hợp 4: Khi người dùng không nhập tên tài khoản và mật khẩu, hệ thống sẽ thông báo rằng tên tài khoản và mật khẩu không được để trống.
- Test case 5: Kiểm tra người dùng nhập tên tài khoản đúng, mật khẩu sai thì hệ thống sẽ hiển thị thông báo mật khẩu không đúng
- Test case 6: Kiểm tra người dùng nhập tên tài khoản sai, mật khẩu đúng thì hệ thống sẽ hiển thị thông báo tài khoản không tồn tại
- Test case 7: Kiểm tra người dùng nhập tên tài khoản sai, mật khẩu sai thì hệ thống sẽ hiển thị thông báo tài khoản không tồn tại
3.2.3.2 Sửa thông tin cá nhân
Với chức năng Sửa thông tin cá nhân, có những test case sau:
- Test case 1: Kiểm tra người dùng nhập CMND bằng chữ cái hoặc ký tự đặc biệt thì hệ thống sẽ không nhận và ô nhập vẫn trống
- Test case 2: Kiểm tra người dùng nhập ngày sinh chưa đủ 18 tuổi thì hệ thống sẽ hiển thị thông báo sửa không thành công
- Test case 3: Kiểm tra người dùng nhập số điện thoại không phải chỉ gồm
10 số thì hệ thống sẽ hiển thị thông báo sửa không thành công
- Test case 4: Kiểm tra người dùng nhập thông tin hợp lệ (không vi phạm những điều trên) thì hệ thống sẽ hiển thị thông báo sửa thành công
Với chức năng Sửa nhân viên, có những test case sau:
- Test case 1: Kiểm tra người dùng nhập CMND bằng chữ cái hoặc ký tự đặc biệt thì hệ thống sẽ không nhận và ô nhập vẫn trống
- Test case 2: Kiểm tra người dùng nhập ngày sinh chưa 18 tuổi thì hệ thống sẽ hiển thị thông báo sửa không thành công
- Test case 3: Kiểm tra người dùng nhập số điện thoại không phải chỉ gồm
10 số thì hệ thống sẽ hiển thị thông báo sửa không thành công
- Test case 4: Kiểm tra người dùng nhập hệ số lương không nằm trong các số sau: 2.34; 2.67; 3 thì hệ thống sẽ hiển thị thông báo sửa không thành công
Kiểm tra trường hợp 5: Khi người dùng nhập tên tài khoản không đúng định dạng và có chứa ký tự @, hệ thống sẽ hiển thị thông báo lỗi không hợp lệ và yêu cầu người dùng nhập lại thông tin.
Kiểm tra người dùng nhập thông tin hợp lệ, không vi phạm các quy định đã nêu, hệ thống sẽ hiển thị thông báo sửa thành công.
Với chức năng Tìm kiếm nhân viên, có những test case sau:
- Test case 1: Kiểm tra người dùng không nhập gì hoặc chỉ nhập ký tự khoảng trắng thì hệ thống sẽ giữ nguyên hiển thị dữ liệu ban đầu
- Test case 2: Kiểm tra người dùng nhập tên không có trong cơ sở dữ liệu thì hệ thống sẽ hiển thị dữ liệu trống
- Test case 3: Kiểm tra người dùng nhập tên có trong cơ sở dữ liệu thì hệ thống sẽ hiển thị dữ liệu của nhân viên đó
Kiểm tra người dùng nhập chuỗi ký tự khớp với tên trong cơ sở dữ liệu, hệ thống sẽ hiển thị thông tin của các nhân viên có chứa chuỗi ký tự đó.
Với chức năng xóa khen thưởng , có những test case sau:
- Test case 1: Kiểm tra người dùng xóa khen thưởng của nhân viên thì hệ thống sẽ xóa khen thưởng của nhân viên đó và loại bỏ khỏi dữ liệu
Mô tả Các bước test Dữ liệu thử nghiệm Kết quả mong đợi
DN01 Kiểm tra người dùng nhập đúng tên tài
2.Nhập tên tài khoản 3.Nhập mật khẩu
-Tên tài khoản: admin@gmail.com -Mật khẩu: 123456
Người dùng đăng nhập thành công
PASS khoản và mật khẩu
DN02 Kiểm tra người dùng không nhập tên tài khoản nhưng có nhập mật khẩu
2.Bỏ trống tên tài khoản
3.Nhập mật khẩu 4.Nhấp Đăng nhập
-Mật khẩu: 123123 Thông báo không được bỏ trống tên tài khoản
DN03 Kiểm tra người dùng không nhập mật khẩu nhưng có nhập tên tài khoản
2.Nhập tên tài khoản 3.Bỏ trống mật khẩu 4.Nhấp Đăng nhập
-Tài khoản: admin@gmail.com
Thông báo không được để trống mật khẩu
PASS dùng không nhập tên tài khoản lẫn mật khẩu
2.Bỏ trống tên tài khoản
3.Bỏ trống mật khẩu 4.Nhấp Đăng nhập được để trống tên tài khoản và mật khẩu đợi
DN05 Kiểm tra người dùng nhập tên tài khoản đúng, mật khẩu sai
2.Nhập tên tài khoản 3.Nhập mật khẩu 4.Nhấp Đăng nhập
-Tên tài khoản: admin@gmail.com
Thông báo nhập sai mật khẩu
DN06 Kiểm tra người dùng nhập tên tài khoản sai, mật khẩu đúng
2.Nhập tên tài khoản 3.Nhập mật khẩu 4.Nhấp Đăng nhập
-Tên tài khoản: admii@gmail.com -Mật khẩu: 123456
Thông báo nhập sai tên tài khoản
1.Truy cập -Tên tài khoản: Thông báo tài
PASS người dùng nhập tên tài khoản sai, mật khẩu sai http://localhost:5173/
2.Nhập tên tài khoản 3.Nhập mật khẩu 4.Nhấp Đăng nhập admii@gmail.com
1111111 khoản không tồn tại đợi
3.2.4.2 Sửa thông tin cá nhân
Mô tả Các bước test Dữ liệu thử nghiệm Kết quả mong đợi
CN01 Kiểm tra người dùng nhập
CMND bằng chữ cái hoặc ký tự đặc biệt
2 Nhấp trang Thông tin cá nhân
CN02 Kiểm tra người dùng nhập
2 Nhấp trang Thông tin cá nhân
CN03 Kiểm tra người dùng nhập số điện thoại không phải chỉ gồm
2 Nhấp trang Thông tin cá nhân
CN04 Kiểm tra người dùng nhập thông tin hợp lệ
(không vi phạm những điều trên)
2 Nhấp trang Thông tin cá nhân
Người dùng sửa thông tin thành công
Mô tả Các bước test Dữ liệu thử nghiệm
SNV01 Kiểm tra người dùng nhập
CMND bằng chữ cái hoặc ký tự đặc biệt
2 Nhấp trang Danh sách nhân viên
3.Kích nút sửa của 1 nhân viên
SNV02 Kiểm tra người dùng nhập ngày sinh chưa
2 Nhấp trang Danh sách nhân viên
3.Kích nút sửa của 1 nhân viên
Người dùng sửa không thành công
SNV03 Kiểm tra người dùng nhập số điện
2 Nhấp trang Danh sách nhân viên 3.Kích nút sửa của 1
Người dùng sửa không thành
PASS thoại không phải chỉ gồm
4 Nhập số điện thoại công
SNV04 Kiểm tra người dùng nhập hệ số lương không nằm trong các số sau:
2 Nhấp trang Danh sách nhân viên
3.Kích nút sửa của 1 nhân viên
-Hệ số lương: 2 Người dùng sửa không thành công
SNV05 Kiểm tra người dùng nhập tên tài khoản không đúng định dạng có chứa 1
2 Nhấp trang Danh sách nhân viên
3.Kích nút sửa của 1 nhân viên
-Tên tài khoản: nh@@gmail.com
Người dùng sửa không thành công
SNV06 Kiểm tra người dùng nhập thông tin hợp lệ
(không vi phạm những điều trên)
2 Nhấp trang Danh sách nhân viên
3.Kích nút sửa của 1 nhân viên
4 Nhập thông tin cần sửa
-Tên tài khoản: abc@gmail.com
Người dùng sửa thành công
Mô tả Các bước test Dữ liệu thử nghiệm
TK01 Kiểm tra người dùng không nhập gì hoặc chỉ nhập ký tự khoảng
2.Nhấp trang Danh sách nhân viên
3.Kích vào biểu tượng kính lúp
Bảng dữ liệu hiển thị giữ nguyên
TK02 Kiểm tra người dùng nhập tên không có trong cơ sở dữ liệu
2.Nhấp trang Danh sách nhân viên 3.Nhập tên nhân viên
4.Kích vào biểu tượng kính lúp
Bảng dữ liệu hiển thị trống
TK03 Kiểm tra người dùng nhập tên có trong cơ sở dữ liệu
2.Nhấp trang Danh sách nhân viên 3.Nhập tên nhân viên
4.Kích vào biểu tượng kính lúp
Bảng dữ liệu hiển thị thông tin của nhân viên Test 1
TK04 Kiểm tra người dùng nhập chuỗi ký tự khớp với chuỗi ký tự có ở tên
2.Nhấp trang Danh sách nhân viên 3.Nhập tên nhân viên
4.Kích vào biểu tượng kính lúp
Bảng dữ liệu hiển thị thông tin của những nhân viên có
PASS trong cơ sở dữ liệu
Mô tả Các bước test Dữ liệu thử nghiệm
XKT01 Kiểm tra người dùng xóa khen thưởng của nhân viên
2.Nhấp trang Danh sách khen thưởng
3.Kích vào biểu tượng xóa
-Mã nhân viên: 44 -Mã nhân viên: 01
Dữ liệu về nhân viên bị xóa khỏi cơ sở dữ liệu
Dự án: Xây dựng phần mềm (website) quản lý thông tin về nhân sự trong doanh nghiệp.
Người thực hiện kiểm thử: Hà Thanh Chúc, Nguyễn Mạnh Cường, Nguyễn Anh Đức, Hoàng Quốc Chiến, Đoàn Đại Dương.
Mục tiêu kiểm thử phần mềm là đảm bảo chất lượng và độ tin cậy thông qua việc kiểm tra chức năng, tính năng và hiệu suất của ứng dụng.
Tên chức năng Quyền áp dụng Mô tả Đăng nhập Admin/Nhân viên Kiểm tra chức năng đăng nhập vào hệ thống
Sửa thông tin cá nhân Admin/Nhân viên Kiểm tra chức năng sửa thông tin của tài khoản
Sửa nhân viên Admin Kiểm tra chức năng sửa danh sách nhân viên
Tìm kiếm nhân viên Admin/Nhân viên Kiểm tra chức năng tìm kiếm nhân viên
Xóa khen thưởng Admin Kiểm tra chức năng xóa khen thưởng
Tổng số chức năng kiểm thử: 5
4 Phần trăm chức năng pass và fail:
- Phần trăm chức năng pass: 100%
- Phần trăm chức năng fail: 0%
5 Kết luận: Như vậy, các chức năng cơ bản đã đạt được mục tiêu đề ra Tuy nhiên, cần cải thiện thêm về giao diện.
- Kiểm thử các chức năng còn lại của hệ thống.
- Chỉnh sửa giao diện cho phù hợp và sáng tạo hơn.
Nhóm chúng em đã xây dựng thành công một hệ thống quản lý nhân sự hiệu quả, dễ triển khai và sử dụng Hệ thống này giúp người quản trị theo dõi và quản lý thông tin nhân viên một cách thuận tiện, đồng thời cung cấp các chức năng như quản lý nghỉ phép, xem bảng lương và quản lý nâng lương Ngoài ra, nhân viên cũng có thể đăng nhập để theo dõi thông tin cá nhân, tiền lương và xin nghỉ phép.
Các thành viên trong nhóm được trang bị kiến thức và kỹ năng bổ ích, trong đó khả năng làm việc nhóm được nâng cao thông qua quá trình thực hiện đề tài này.
Nhóm chúng em đã hoàn thành mục tiêu ban đầu là cung cấp một giải pháp hiệu quả cho việc quản lý nhân sự trong doanh nghiệp.
Mặc dù thời gian thực hiện đề tài ngắn hạn có hạn, chúng tôi vẫn chưa thể phát triển thêm nhiều tính năng nâng cao và phức tạp hơn.
Để nâng cao tính ổn định và linh hoạt của hệ thống, chúng tôi sẽ tiếp tục phát triển và cải thiện bằng cách thêm các tính năng mở rộng như chấm công tự động, tích hợp trí tuệ nhân tạo nhằm tối ưu hóa quy trình quản lý nhân sự, đồng thời cải thiện trải nghiệm người dùng thông qua các cập nhật giao diện.