Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu. Giờ đây, chúng ta đang sống trong thời đại mà cuộc cách mạng thông tin đang diễn ra mạnh mẽ trên thế giới và tác động hầu hết mọi hoạt động kinh tế xã hội, làm thay đổi không chỉ lối sống, phong cách làm việc cũng như tư duy của con người mà còn tạo ra sự thay đổi lớn trong phương thức điều hành, quản lý của các tổ chức cũng như việc sản suất kinh doanh của các doanh nghiệp. Nhờ ứng dụng công nghệ thông tin mà việc quản lý các tổ chức, cơ quan trở nên đơn giản gọn nhẹ và hiệu quả hơn. Hiện nay theo su thế phát triển của ngành công nghệ thông tin các doanh nghiệp lớn nhỏ của Việt Nam cũng đang đưa vào sử dụng các phần mềm quản lý phù hợp với doanh nghiệp của mình ví dụ như một sự chuyeng trình quản lý hoạt động kinh doanh, quản lý kho bãi, quản lý khách hàng…… hay nhưng chương trình quản lý nhân sự, quản lý hóa đơn, quản lý hồ sơ,……. Việc sử dụng những chương trình quản lý này không nhưng đem lại những lợi ích về mặt kết quả công việc mà còn làm giảm tối đa các chi phí phát sinh
Tổng quan
Lý do chọn đề tài
Với sự phát triển liên tục của công nghệ máy tính và mạng điện tử, công nghệ thông tin đã đạt được nhiều thành tựu vượt bậc Internet nổi lên như một sản phẩm có giá trị to lớn, trở thành công cụ thiết yếu cho việc truyền tải và trao đổi thông tin toàn cầu.
Trong thời đại cuộc cách mạng thông tin bùng nổ, mọi hoạt động kinh tế - xã hội đều bị ảnh hưởng, dẫn đến sự thay đổi trong lối sống, phong cách làm việc và tư duy của con người Công nghệ thông tin giúp quản lý tổ chức trở nên đơn giản, hiệu quả hơn, thúc đẩy các doanh nghiệp Việt Nam áp dụng phần mềm quản lý phù hợp như quản lý hoạt động kinh doanh, kho bãi, khách hàng, nhân sự, hóa đơn và hồ sơ Việc sử dụng các chương trình quản lý này không chỉ nâng cao hiệu quả công việc mà còn giảm thiểu chi phí phát sinh.
Nhận thức được tầm quan trọng đó, em đã chọn đề tài “PHÂN TÍCH THIẾT KẾ
VÀ XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÂN SỰ CHO CÔNG TY BẢO HIỂMNHÂN THỌ DAIICHI” là đề tài cho khóa luận của mình.
Mục tiêu của đề tài
- Trình bày được các vấn đề liên quan đến ngôn ngữ PHP, cơ sở dữ liệu Mysql, mô hình MVC
- Khảo sát thực trạng và nhu cầu cũng như nhân sự của công ty.
- Phân tích hệ thống chương trình bao gồm các giao diện, các activity nhằm đáp ứng nhu cầu người dùng.
- Triển khai và cài đặt chương trình.
Giới hạn và phạm vi của đề tài
- Xây dựng chương trình dựa vào ngôn ngữ lập trình PHP với Framework Laravel và cơ sở dữ liệu Mysql.
- Chương trình tập chung chức năng nghiệp vụ từ khảo sát thực trạng.
Kết quả dự kiến đạt được
- Hiểu về ngôn ngữ lập trình PHP và áp dụng cho xây dựng website
Chúng tôi đã hoàn thành phần mềm quản lý nhân sự cho công ty bảo hiểm Daiichi, tích hợp các tính năng quan trọng như quản trị hệ thống và quản lý nhân sự cho Admin, cùng với khả năng cập nhật thông tin cá nhân và đăng nhập tài khoản cho người dùng.
Cơ sở lý thuyết
Cơ sở lý thuyết
2.1.1 Phân tích và thiết kế hướng đối tượng:
Phân tích thiết kế hướng đối tượng (OOAD) là giai đoạn quan trọng trong phát triển phần mềm, nhằm xây dựng một mô hình chính xác và súc tích về vấn đề cần giải quyết Mô hình này bao gồm các đối tượng và khái niệm từ thực tế, giúp người sử dụng dễ dàng hiểu và tương tác với hệ thống.
Năm nguyên tắc trong thiết kế hướng đối tượng:
Một lớp trong lập trình nên chỉ đảm nhận một chức năng duy nhất để đảm bảo tính độc lập và dễ bảo trì Việc gộp nhiều chức năng vào một lớp có thể tạo ra sự phụ thuộc giữa chúng, dẫn đến việc thay đổi một chức năng có thể làm hỏng các chức năng khác.
Các lớp, module, chức năng nên dễ dàng Mở cho việc thêm chức năng mới và Đóng cho việc thay đổi.
Lớp dẫn xuất phải có khả năng thay thế được lớp cha.
Chương trình không nên buộc phải cài đặt một Interface mà nó không sử dụng đến.
Các module cấp cao không nên phụ thuộc trực tiếp vào các module cấp thấp; thay vào đó, cả hai nên được kết nối thông qua một lớp trừu tượng Lớp trừu tượng này không nên chịu sự phụ thuộc vào các chi tiết cụ thể, mà ngược lại, các chi tiết phải phụ thuộc vào lớp trừu tượng để đảm bảo tính linh hoạt và khả năng mở rộng của hệ thống.
UML (Ngôn ngữ mô hình hóa hợp nhất) là công cụ quan trọng trong việc đặc tả, trực quan hóa và tài liệu hóa phần mềm hướng đối tượng Nó bao gồm các ký hiệu hình học, được áp dụng bởi các phương pháp hướng đối tượng để thể hiện và mô tả thiết kế hệ thống một cách rõ ràng và hiệu quả.
Phân tích và thiết kế hướng đối tượng (OOAD) yêu cầu các bản vẽ và sơ đồ để mô tả hệ thống, trong khi UML (Ngôn ngữ mô hình hóa thống nhất) là công cụ chính để thể hiện những bản vẽ và sơ đồ này UML đóng vai trò quan trọng trong ngành phần mềm, giúp hình dung và truyền đạt các cấu trúc và hành vi của hệ thống một cách rõ ràng và hiệu quả.
Trong phần mềm OOAD, việc sử dụng UML cho phép thể hiện các góc nhìn đa dạng, bao gồm góc nhìn về ca sử dụng, cấu trúc hệ thống và triển khai hệ thống Mỗi góc nhìn này mang lại một khía cạnh khác nhau, giúp người phát triển có cái nhìn toàn diện về hệ thống.
Hình 2.1 Các view trong OOAD sử dụng UML
Sơ đồ là công cụ quan trọng để thể hiện các góc nhìn khác nhau của hệ thống, bao gồm mô tả các ca sử dụng, cấu trúc hệ thống và sự tương tác giữa các đối tượng trong hệ thống.
Hình 2.2 Các sơ đồ trong OOAD sử dụng UML
Các ký hiệu để vẽ, là từ vựng ngôn ngữ tự nhiên.
Mỗi sơ đồ đều có những quy tắc riêng mà bạn cần nắm vững để đảm bảo thiết kế chính xác và nhất quán.
2.1.2 Ngôn ngữ thiết kế website HTML và CSS:
HTML (Hypertext Markup Language) là ngôn ngữ đánh dấu văn bản được sử dụng để xây dựng cấu trúc và nội dung cho trang web, bao gồm các đoạn văn, danh sách, hình ảnh và bảng biểu Mặc dù không phải là ngôn ngữ lập trình, HTML cho phép định nghĩa cách thức trình bày nội dung thông qua các thuộc tính và thẻ, giúp tạo ra các liên kết, định dạng văn bản như in đậm hay thay đổi phông chữ.
Một số đặc điểm của HTML:
Là một ngôn ngữ rất đơn giản.
Rất dễ dàng để trình bày hiệu quả với HTML vì nó có nhiều thẻ định dạng.
Đây là một ngôn ngữ đánh dấu, vi vậy có thể sử dụng nó một cách linh hoạt để thiết kế web cùng với văn bản.
Có thể thêm các hình ảnh, video và âm thanh sống động vào các trang web, khiến hiệu quả tương tác cao hơn.
Có thể liên kết trực tiếp đến trang web khác.
Là nền tảng độc lập, nên có thể hiển thị trên bất kì nền tảng nào khác.
CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ dùng để mô tả cách trình bày các tài liệu HTML và XHTML Nó cho phép người dùng định dạng các yếu tố như font chữ, kích thước và màu sắc, giúp cải thiện giao diện của trang web.
Để tối ưu hóa mã nguồn của trang Web, hạn chế việc sử dụng các thẻ HTML làm rối như chữ đậm, in nghiêng, giúp mã nguồn trở nên gọn gàng và dễ quản lý hơn.
Tách biệt nội dung trang Web và định dạng hiển thị, dễ dàng cho việc thay đổi.
Tạo ra các kiểu dáng áp dụng được cho nhiều trang Web, tránh lặp lại việc định dạng cho các trang Web giống nhau.
Hình 2.3 Minh họa trang web sử dụng HTML và CSS
2.1.3 Ngôn ngữ lập trình JAVASCRIPT:
JavaScript là ngôn ngữ lập trình chủ yếu cho HTML và ứng dụng web, nổi bật với tính nhẹ và khả năng tương tác cao Được sử dụng rộng rãi trong các trang web, JavaScript cho phép thực thi mã phía máy khách, tạo ra trải nghiệm người dùng động và hấp dẫn Đây là một ngôn ngữ lập trình thông dịch, hỗ trợ các tính năng hướng đối tượng.
JavaScript có một số ưu điểm:
Tiết kiệm băng thông máy chủ:
JavaScript trong thiết kế website giúp tiết kiệm băng thông máy chủ hiệu quả, vì mã được thực thi trực tiếp trên máy của người dùng Việc này không chỉ tăng cường hiệu suất mà còn kéo dài tuổi thọ của máy chủ và giảm thiểu diện tích băng thông cần thiết.
JavaScript có khả năng hoạt động linh hoạt và tương thích tốt với hầu hết các trình duyệt phổ biến như Cốc Cốc, Chrome, Firefox và Safari Để thực thi, người dùng chỉ cần tải file JavaScript về hoặc nhúng trực tiếp vào file HTML mà không cần tải thêm nhiều file khác.
Hầu hết các trình duyệt web hiện nay đều tích hợp sẵn trình thông dịch ngôn ngữ JavaScript, giúp người dùng dễ dàng sử dụng mà không cần kết nối mạng Điều này mang lại sự tiện lợi đáng kể cho người dùng trong việc truy cập và tương tác với nội dung trực tuyến.
Dễ dàng kiểm tra, xử lý vấn đề:
Công cụ sử dụng
JQuery là một thư viện kiểu mới của JavaScript, hệ thống lại các hàm của
JavaScript, được phát triển vào năm 2006, là một ngôn ngữ lập trình ngắn gọn và dễ sử dụng jQuery giúp đơn giản hóa việc thao tác với HTML, xử lý sự kiện và tương tác với Ajax, đồng thời tích hợp nhiều module khác nhau, từ hiệu ứng đến truy vấn selector.
Jquery là một thư viện lập trình mạnh mẽ, nhờ vào các tính năng ưu việt của nó, được sử dụng rộng rãi trên hầu hết các website toàn cầu Thư viện này giúp người dùng cải thiện khả năng tương tác và hiệu suất hoạt động của trang web.
Đơn giản hóa việc code, giúp người dùng có thể viết các mã chức năng liên quan đến giao diện một cách dễ dàng, nhanh chóng.
Cho phép các ứng dụng web tương thích với trình duyệt cùng phát triển.
JQuery rất nhanh có khả năng mở rộng.
Sử dụng hầu hết các tính năng hiện đại của trình duyệt mới.
Hỗ trợ hầu hết trên các trình duyệt.
MVC (Model-View-Controller) là một kiến trúc phổ biến mà các nhà phát triển sử dụng để xây dựng ứng dụng Kiến trúc này giúp phân tách các thành phần của ứng dụng, cho phép quản lý luồng dữ liệu một cách hiệu quả.
Một số ưu điểm của mô hình MVC:
Trình xử lý rõ ràng.
Mô hình MVC phân chia các lớp và hàm thành các thành phần riêng biệt, giúp quá trình phát triển, quản lý, vận hành và bảo trì website trở nên dễ dàng và hiệu quả hơn.
Tạo ra được các chức năng chuyên biệt hóa, đồng thời kiểm soát được luồng xử lý.
Tạo mô hình chuẩn cho dự án, người chuyên môn ngoài dễ tiếp cận hơn.
Xử lý nghiệp đơn giản và dễ dàng triển khai với các dự án nhỏ.
Framework là một thư viện chứa các tài nguyên sẵn có cho từng lĩnh vực, giúp lập trình viên tiết kiệm thời gian thiết kế Thay vì tự phát triển từ đầu, lập trình viên chỉ cần tìm hiểu và sử dụng các tài nguyên này, kết hợp chúng lại để hoàn thiện sản phẩm của mình.
Laravel là một framework PHP mã nguồn mở miễn phí, được thiết kế để hỗ trợ phát triển ứng dụng web theo mô hình MVC Nó sở hữu nhiều tính năng nổi bật, giúp tối ưu hóa quá trình phát triển.
Cú pháp dễ hiểu, rõ ràng.
Nhiều tiện ích khác nhau hỗ trợ triển khai và bảo trì ứng dụng, phần mềm.
Có hệ thống gói modular và quản lý gói phụ thuộc.
Hình 2.6 Mô hình MVC trong Laravel 2.2.4 MySQL:
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất toàn cầu, được ưa chuộng trong phát triển web và ứng dụng nhờ vào tốc độ xử lý nhanh và tính bảo mật cao, rất phù hợp cho các ứng dụng có cơ sở dữ liệu trực tuyến.
MySQL nổi bật với khả năng bảo mật cao, giúp ngăn chặn các cuộc tấn công mạng hiệu quả Đây chính là một trong những lý do quan trọng khiến MySQL thu hút được lượng người dùng lớn hiện nay.
Nhiều tính năng: MySQL hỗ trợ nhiều tính năng ưu việt vượt cả trực tiếp và gián tiếp
Dễ sử dụng: Dễ dàng nắm bắt các kiến thức và khá đơn giản trong quá trình sử dụng, kể cả với người mới bắt đầu.
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở hoàn toàn miễn phí, cho phép người dùng sử dụng mà không tốn chi phí Tuy nhiên, một số tính năng hỗ trợ nâng cao vẫn yêu cầu người dùng phải trả phí để sử dụng.
Tốc độ: Khả năng Request dữ liệu cực nhanh, điều này rất quan trọng trong lập trình web.
Hệ thống tổ chức và đặc tả yêu cầu
Khảo sát hoạt động nghiệp vụ
Hình 3.1 Sơ đồ tổng quát
Khi công ty cần tuyển dụng, bộ phận nhân sự sẽ công bố tin tuyển dụng cùng với yêu cầu hồ sơ, bao gồm phiếu xin việc, sơ yếu lý lịch và bằng tốt nghiệp (nếu có) Hồ sơ đạt yêu cầu sẽ được chuyển cho các trưởng phòng để xem xét và phỏng vấn Những ứng viên phù hợp sẽ được tiếp nhận hồ sơ Sau thời gian thử việc thành công, ứng viên sẽ trở thành nhân viên chính thức và nhận thông báo ký hợp đồng.
Khi trở thành nhân viên của công ty, bạn sẽ được hưởng các chế độ và bảo hiểm đầy đủ Nhân viên có quyền xem xét danh sách bảo hiểm và chế độ, đồng thời có thể phản hồi ý kiến về những thay đổi hoặc trường hợp đặc biệt Trưởng phòng sẽ xem xét các ý kiến này để điều chỉnh hợp lý Nếu ứng viên đồng ý với các điều khoản trong hợp đồng, hai bên sẽ ký kết và lưu giữ hợp đồng, chính thức trở thành nhân viên Ngược lại, nếu có điểm không đồng ý, trưởng phòng sẽ dựa trên hợp đồng đã chuẩn bị và ý kiến phản hồi để đề xuất một bản hợp đồng mới phù hợp hơn cho cả hai bên ký kết.
Nhân viên văn phòng chấm công bằng máy quét vân tay khi bắt đầu và kết thúc giờ làm việc Vào cuối tháng, trưởng phòng tổng hợp danh sách chấm công từ máy và gửi cho nhân viên trong phòng Nhân viên xác nhận thông tin và gửi phản hồi nếu có thắc mắc; nếu không, trưởng phòng hoàn tất chấm công để tiến hành tính lương Các ngày tăng ca cũng được ghi nhận và lưu lại bởi trưởng phòng.
Nhân viên tư vấn tài chính làm việc theo giờ được phân công bởi các trưởng phòng và thực hiện chấm công giống như nhân viên văn phòng Họ còn được đánh giá dựa trên KPI; nếu KPI thấp hơn tiêu chuẩn công ty, lương sẽ bị trừ, trong khi nếu KPI cao hơn mức quy định, họ sẽ nhận thưởng theo từng hợp đồng, cộng thêm lương cơ bản.
Cuối tháng, trưởng phòng sẽ lập bảng lương cho nhân viên dựa trên từng loại hình công việc Đối với nhân viên văn phòng, lương được tính dựa vào bảng công, danh sách tăng ca và các quy tắc, công thức tính lương Còn với nhân viên tư vấn tài chính, lương sẽ được xác định dựa trên bảng công và các chỉ số KPI mà nhân viên đạt được.
Sau khi hoàn thành, danh sách lương sẽ được in và gửi đến từng nhân viên Khi nhân viên kiểm tra và xác nhận mức lương, trưởng phòng sẽ lưu trữ danh sách này để bộ phận kế toán thực hiện việc phát lương hàng tháng cho toàn bộ nhân viên trong công ty.
3.2.3 Yêu cầu đối với hệ thống:
Phần mềm quản lý nhân sự chủ yếu phục vụ cho nhân viên trong lĩnh vực nhân sự và các lãnh đạo công ty nhằm kiểm soát hiệu quả nhân viên Do tính chất sử dụng nội bộ và không công khai, giao diện của phần mềm không cần quá phức tạp; thay vào đó, nó cần có bố cục hợp lý và nội dung trình bày rõ ràng, dễ hiểu.
Khi bạn nhập tên hoặc mã nhân viên, hệ thống sẽ hiển thị tất cả thông tin liên quan đến ứng viên mà bạn đang tìm kiếm.
- Thêm mới nhân viên: thêm mới các thông tin cơ bản về nhân viên như họ tên, ngày tháng năm sinh, quê quán…
- Cập nhật hồ sơ nhân sự
- Cập nhật lương, hợp đồng, thời gian làm việc…
Yêu cầu của hệ thống:
- Dành cho người quản trị:
Tạo, xóa và sửa user
Thêm, sửa, xóa các quyền
Kiểm tra thông tin nhân viên
Cập nhật danh mục từ điển bao gồm: chức vụ, phòng ban, thời gian thử việc, đánh giá sau thử việc, lịch phỏng vấn, kết quả phỏng vấn
Quản lý danh sách chấm công và bảng lương.
Xem các báo cáo thống kê.
Đăng nhập vào hệ thống
Đăng nhập tài khoản và chỉnh sửa thông tin cá nhân.
Điểm danh các ngày đi làm.
Use Case của hệ thống
3.2.1 Các tác nhân của hệ thống:
Hình 3.2 Các tác nhân của hệ thống
QUANTRIVIEN: Là người quản lý toàn bộ hệ thống, thêm các tài khoản và phân quyền người sử dụng hệ thống.
TRUONGPHONG: Là các trưởng phòng thực hiện quản lý thông tin cá nhân, hồ sơ nhân sự và chấm công nhân viên.
Nhân viên của công ty có thể thực hiện đăng nhập vào hệ thống để chỉnh sửa thông tin cá nhân, xem danh sách chấm công và hợp đồng, cũng như thực hiện điểm danh cho các ngày làm việc.
Hình 3.3 Use Case tổng quát
Hình 3.4 Use Case hệ thống
Tác nhân: Trưởng phòng và nhân viên.
Mô tả tổng quát: Người dùng đổi mật khẩu của tài khoản truy cập.
Điều kiện đầu vào: Khi người dùng truy cập và chọn đổi mật khẩu.
Người dùng chọn đổi mật khẩu.
Hệ thống hiển thị trang đổi mật khẩu.
Người dùng nhập các trường thông tin và chọn đổi mật khẩu.
Hệ thống kiểm tra các trường dữ liệu:
▫ Nếu thỏa mãn thì thông báo đổi mật khẩu thành công, và chuyển hướng đến trang chủ.
▫ Nếu không thỏa mãn thì thực hiện dòng sự kiện rẽ nhánh A1.
Dòng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Lưu mật khẩu mới của người dùng.
Tác nhân: Trưởng phòng, nhân viên và quản trị viên.
Mô tả tổng quát: Người dùng đăng nhập vào hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người dùng muốn đăng nhập vào hệ thống.
Hệ thống yêu cầu nhập tài khoản và mật khẩu.
Người dùng nhập tài khoản và mật khẩu.
Hệ thống kiểm tra tên và mật khẩu vừa nhập:
▫ Nếu đúng sẽ kiểm tra quyền, và hiển thị quyền tương ứng của tài khoản.
▫ Nếu sai thực hiện luồng sự kiện phụ A1.
Hệ thống sẽ thông báo việc nhập dữ liệu không hợp lệ.
Người dùng nhập lại tài khoản và mật khẩu.
Quay lại bước 2 của luồng sự kiện chính, hoặc hủy bỏ việc đăng nhập, khi đó ca sử dụng kết thúc.
Tác nhân: Trưởng phòng, nhân viên và quản trị viên.
Mô tả tổng quát: Người dùng muốn thoát tài khoản khỏi hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người dùng chọn đăng xuất.
Hệ thống hủy việc lưu thông tin đăng nhập.
Quay về màn hình trang chủ.
3.2.4 Use Case của tác nhân NHANVIEN:
Hình 3.5 Use Case của tác nhân NHANVIEN
Mô tả tổng quát: Nhân viên muốn xem các chế độ đãi ngộ của công ty.
Điều kiện đầu vào: UseCase sử dụng khi nhân viên truy cập vào hệ thống và chọn xem các chế độ.
Hệ thống lấy thông tin các chế độ của nhân viên.
Hiển thị giao diện xem các chế độ.
Cập nhật thông tin cá nhân:
Mô tả tổng quát: Nhân viên cập nhật thông tin cá nhân của mình.
Điều kiện đầu vào: Khi nhân viên ùng đăng nhập hệ thống thành công và chọn thông tin cá nhân.
Nhân viên chọn cập nhật thông tin cá nhân.
Hệ thống hiển thị form cập nhật thông tin.
Người dùng nhập các thông tin muốn sửa đổi, và chọn cập nhật.
Hệ thống kiểm tra các trường dữ liệu:
▫ Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.
▫ Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1.
Hệ thống thông báo cập nhật thông tin cá nhân thành công.
Hệ thống cập nhật thông tin cá nhân vào cơ sở dữ liệu.
Dòng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Thông tin của nhân viên được cập nhật vào cơ sở dữ liệu.
3.2.5 Use Case quản lý phòng ban:
Hình 3.6 Use Case quản lý phòng ban
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý các bộ phận phòng ban trong hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý phòng ban.
Hệ thống hiển thị danh sách phòng ban, và các chức năng: thêm, sửa và xóa phòng ban:
Hệ thống hiển thị form nhập thông tin phòng ban.
Người quản lý nhập thông tin phòng ban.
Nhập nút thêm phòng ban.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm phòng ban thành công.
Hệ thống lưu lại thông tin phòng ban.
Hệ thống hiển thị form cập nhật thông tin phòng ban.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật phòng ban.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật phòng ban thành công.
Hệ thống cập nhật thông tin phòng ban.
Quản trị viên chọn thông tin phòng ban cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa phòng ban và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các phòng ban được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.6 Use Case quản lý tài khoản:
Hình 3.7 Use Case quản lý tài khoản
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý các tài khoản đăng nhập hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý tài khoản.
Hệ thống hiển thị danh sách tài khoản, và các chức năng: thêm, sửa, xóa, tìm kiếm và phân quyền tài khoản:
Hệ thống hiển thị form nhập thông tin tài khoản.
Người quản lý nhập thông tin tài khoản.
Nhập nút thêm tài khoản.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm tài khoản thành công.
Hệ thống lưu lại thông tin tài khoản.
Hệ thống hiển thị form cập nhật thông tin tài khoản.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật tài khoản.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật tài khoản thành công.
Hệ thống cập nhật thông tin tài khoản.
Quản trị viên chọn thông tin tài khoản cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa tài khoản và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Quản trị viên chọn mục phân quyền.
Hệ thống hiển thị form phân quyền.
Quản trị viên phân quyền tài khoản người dùng.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện cập nhật phân quyền và trả về trang hiện hành Ngược lại, hủy thao tác.
Nhập từ khóa cần tìm.
Hệ thống kiểm tra thông tin tài khoản: Nếu có hiển thị danh sách tài khoản Nếu không, hiển thị danh sách rỗng.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các tài khoản đã phân quyền được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.7 Use Case quản lý nhân sự:
Hình 3.8 Use Case quản lý nhân sự
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý nhân sự của công ty.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý nhân sự.
Hệ thống hiển thị danh sách nhân sự, và các chức năng: thêm, sửa, xóa, tìm kiếm nhân sự:
Hệ thống hiển thị form nhập nhân sự.
Người dùng nhập nhân sự.
Nhập nút thêm nhân sự.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm nhân sự thành công.
Hệ thống lưu lại thông tin nhân sự.
Hệ thống hiển thị form cập nhật nhân sự.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật nhân sự.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật nhân sự thành công.
Hệ thống cập nhật thông tin nhân sự.
Người dùng chọn thông tin nhân sự cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa nhân sự và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Nhập từ khóa cần tìm.
Hệ thống kiểm tra thông tin nhân sự: Nếu có hiển thị danh sách nhân sự Nếu không, hiển thị danh sách rỗng.
Dòng sự kiện rẽ nhánh A1:
Người dùng thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các nhân sự được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.8 Use Case quản lý khen thưởng:
Hình 3.9 Use Case quản lý khen thưởng
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý những mục khen thưởng với từng nhân viên trong công ty.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý khen thưởng.
Hệ thống hiển thị danh sách khen thưởng, và các chức năng: thêm, sửa, xóa, tìm kiếm khen thưởng:
Hệ thống hiển thị form nhập nội dung và điều khoản khen thưởng.
Người dùng nhập thông tin khen thưởng.
Nhập nút thêm khen thưởng.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm khen thưởng thành công.
Hệ thống lưu lại thông tin khen thưởng.
Hệ thống hiển thị form cập nhật nội dung và điều khoản khen thưởng.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật khen thưởng.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật khen thưởng thành công.
Hệ thống cập nhật thông tin khen thưởng.
Người dùng chọn thông tin khen thưởng cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa khen thưởng và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Người dùng thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách khen thưởng được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.9 Use Case quản lý kỉ luật:
Hình 3.10 Use case quản lý kỉ luật
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý kỉ luật của từng nhân viên trong công ty.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý kỉ luật.
Hệ thống hiển thị danh sách kỉ luật, và các chức năng: thêm, sửa, xóa kỉ luật:
Hệ thống hiển thị form nhập kỉ luật.
Người dùng nhập thông tin kỉ luật.
Nhập nút thêm kỉ luật.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống lưu lại thông tin kỉ luật.
Hệ thống hiển thị form cập nhật kỉ luật.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật kỉ luật.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật kỉ luật thành công.
Hệ thống cập nhật thông tin kỉ luật.
Người dùng chọn thông tin kỉ luật cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa kỉ luật và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Người dùng thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách kỉ luật được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.10.Use Case quản lý ngày nghỉ:
Hình 3.11 Use Case quản lý ngày nghỉ
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý các ngày nghỉ của nhân viên.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý ngày nghỉ.
Hệ thống hiển thị danh sách ngày nghỉ, và các chức năng: thêm, sửa và xóa ngày nghỉ:
Hệ thống hiển thị form nhập ngày nghỉ.
Người dùng nhập thông tin ngày nghỉ.
Nhập nút thêm ngày nghỉ.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống lưu lại thông tin ngày nghỉ.
Hệ thống hiển thị form cập nhật ngày nghỉ.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật ngày nghỉ.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật ngày nghỉ thành công.
Hệ thống cập nhật thông tin ngày nghỉ.
Người dùng chọn thông tin ngày nghỉ cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa ngày nghỉ và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Người dùng thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách ngày nghỉ được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.11.Use Case quản lý phụ cấp:
Hình 3.12 Use Case quản lý phụ cấp
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý phụ cấp thêm của nhân viên.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý phụ cấp.
Hệ thống hiển thị danh sách phụ cấp, và các chức năng: thêm, sửa và xóa phụ cấp:
Hệ thống hiển thị form nhập phụ cấp.
Người dùng nhập thông tin phụ cấp.
Nhập nút thêm phụ cấp.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống lưu lại thông tin phụ cấp.
Hệ thống hiển thị form cập nhật phụ cấp.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật phụ cấp.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật phụ cấp thành công.
Hệ thống cập nhật thông tin phụ cấp.
Người dùng chọn thông tin phụ cấp cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa phụ cấp và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Điều kiện đầu ra: Danh sách phụ cấp được cập nhật đầy đủ vào cơ sở dữ liệu.
3.2.12.Use Case quản lý thai sản:
Hình 3.13 Use Case quản lý thai sản
Tác nhân: Quản trị viên và trưởng phòng.
Mô tả tổng quát: Trưởng phòng và quản trị viên quản lý danh sách nhân viên trong diện thai sản.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị và trưởng phòng.
Người dùng chọn quản lý thai sản.
Hệ thống hiển thị danh sách thai sản, và chức năng: thêm, sửa, xóa thai sản:
Hệ thống hiển thị form nhập thai sản.
Người dùng nhập thông tin thai sản.
Nhập nút thêm thai sản.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm thai sản thành công.
Hệ thống lưu lại thông tin thai sản.
Hệ thống hiển thị form cập nhật thai sản.
Người dùng nhập thông tin cần thay đổi.
Nhập nút cập nhật thai sản.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật thai sản thành công.
Hệ thống cập nhật thông tin thai sản.
Người dùng chọn thông tin thai sản cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa thai sản và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Điều kiện đầu ra: Danh sách thai sản được cập nhật đầy đủ vào cơ sở dữ liệu.
Biểu đồ hoạt động hệ thống
3.3.1 Biểu đồ hoạt động đăng nhập:
Hình 3.14 Biểu đồ hoạt động đăng nhập 3.3.2 Biểu đồ hoạt động đăng xuất:
Hình 3.15 Biểu đồ hoạt động đăng xuất 3.3.3 Biểu đồ hoạt động xem danh sách hồ sơ:
Hình 3.16 Biểu đồ hoạt động xem danh sách nhân sự 3.3.4 Biểu đồ hoạt động tìm kiếm hồ sơ:
Hình 3.17 Biểu đồ hoạt động tìm kiếm hồ sơ
3.3.5 Biểu đồ hoạt động xóa hồ sơ:
Hình 3.18 Biểu đồ hoạt động xóa hồ sơ
3.3.6 Biểu đồ hoạt động cập nhật thông tin cá nhân:
Hình 3.19 Biểu đồ hoạt động cập nhật thông tin cá nhân
Biểu đồ tuần tự hệ thống
3.4.1 Biểu đồ tuần tự đăng nhập:
Hình 3.20 Biểu đồ tuần tự đăng nhập
3.4.2 Biểu đồ tuần tự xem nhân sự:
Hình 3.21 Biểu đồ tuần tự xem nhân sự 3.4.3 Biểu đồ tuần tự thêm nhân sự:
Hình 3.22 Biểu đồ tuần tự thêm nhân sự
3.4.4 Biểu đồ tuần tự xóa nhân sự:
Hình 3.23 Biểu đồ tuần tự xóa nhân sự
3.4.5 Biểu đồ tuần tự tìm kiếm hồ sơ:
Hình 3.24 Biểu đồ tuần tự tìm kiếm nhân sự
3.4.6 Biểu đồ tuần tự cập nhật thông tin cá nhân:
Hình 3.25 Biểu đồ tuần tự cập nhật thông tin cá nhân
Biểu đồ trạng thái
3.5.1 Biểu đồ trạng thái đăng nhập:
Hình 3.26 Biểu đồ trạng thái đăng nhập
3.5.2 Biểu đồ trạng thái tìm kiếm nhân viên:
Hình 3.27 Biểu đồ trạng thái tìm kiếm nhân viên 3.5.3 Biểu đồ trạng thái thêm nhân viên:
Hình 3.28 Biểu đồ trạng thái thêm thông tin nhân viên
3.5.4 Biểu đồ trạng thái sửa nhân viên:
Hình 3.29 Biểu đồ trạng thái sửa thông tin nhân viên 3.5.5 Biểu đồ trạng thái xóa nhân viên:
Hình 3.30 Biểu đồ trạng thái xóa nhân viên
Biểu đồ lớp
Thiết kế cơ sở dữ liệu
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã quản trị viên
8 created_at timestamp Ngày tạo
9 updated_at timestamp Ngày cập nhật
Bảng 3.1 Bảng admins(quản trị)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã nhân viên
5 s_department_id bigint FK Mã phòng ban
7 s_phone varchar(200) Số điện thoại
9 created_at timestamp Ngày tạo
10 updated_at timestamp Ngày cập nhật
Bảng 3.2 Bảng staffs(nhân viên)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã phụ cấp
4 a_staff_id bigint FK Mã nhân viên
6 created_at timestamp Ngày tạo
7 updated_at timestamp Ngày cập nhật
Bảng 3.3 Bảng allowances(phụ cấp)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã ngày nghỉ
7 d_staff_id bigint FK Mã nhân viên
8 d_admin_id bigint FK Mã quản trị
9 created_at timestamp Ngày tạo
10 updated_at timestamp Ngày cập nhật
Bảng 3.4 Bảng dayoffs(ngày nghỉ)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã kỷ luật
4 d_staff_id bigint FK Mã nhân viên
6 created_at timestamp Ngày tạo
7 updated_at timestamp Ngày cập nhật
Bảng 3.5 Bảng disciplines(kỷ luật)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã phòng ban
4 created_at timestamp Ngày tạo
5 updated_at timestamp Ngày cập nhật
Bảng 3.6 Bảng departments(phòng ban)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã thai sản
2 m_date_start timestamp Ngày bắt đầu
3 m_date_stop timestamp Ngày kết thúc
4 m_staff_id bigint FK Mã nhân viên
7 created_at timestamp Ngày tạo
8 updated_at timestamp Ngày cập nhật
Bảng 3.7 Bảng maternity(thai sản)
STT Thuộc tính Kiểu dữ liệu Khóa Mô tả
1 id bigint PK Mã lương
2 p_payday timestamp Ngày lĩnh lương
4 p_total_wage int Tổng tiền công
6 p_work_day int Số ngày làm
9 p_staff_id bigint FK Mã nhân viên
10 created_at timestamp Ngày tạo
11 updated_at timestamp Ngày cập nhật
Cài đặt và thử nghiệm
Giao diện trang danh sách phòng ban
Hình 4.1 Giao diện trang danh sách phòng ban
Giao diện trang thêm phòng ban
Hình 4.2 Giao diện trang thêm phòng ban
Giao diện trang danh sách nhân sự
Hình 4.3 Giao diện trang danh sách nhân sự
Giao diện trang thêm nhân sự
Hình 4.4 Giao diện trang thêm nhân sự
Giao diện trang danh sách khen thưởng
Hình 4.5 Giao diện trang danh sách khen thưởng
Giao diện trang thêm khen thưởng
Hình 4.6 Giao diện trang thêm khen thưởng
Giao diện trang danh sách kỉ luật
Hình 4.7 Giao diện trang danh sách kỉ luật
Giao diện trang thêm kỉ luật
Hình 4.8 Giao diện trang thêm kỉ luật
Giao diện trang danh sách ngày nghỉ
Hình 4.9 Giao diện trang danh sách ngày nghỉ
Giao diện trang thêm ngày nghỉ
Hình 4.10 Giao diện trang thêm ngày nghỉ
Giao diện trang danh sách phụ cấp
Hình 4.11 Giao diện trang danh sách phụ cấp
Giao diện trang thêm phụ cấp
Hình 4.12 Giao diện trang thêm phụ cấp
Giao diện trang danh sách thai sản
Hình 4.13 Giao diện trang danh sách thai sản
Giao diện trang thêm thai sản
Hình 4.14 Giao diện trang thêm thai sản
Đánh giá và kết luận
Trong quá trình nghiên cứu đề tài “Phân tích thiết kế và xây dựng phần mềm quản lý nhân sự cho công ty bảo hiểm nhân thọ DaiiChi”, em đã tích lũy được nhiều kinh nghiệm quý báu nhờ sự hướng dẫn tận tình của thầy cô và sự hỗ trợ nhiệt tình từ các bạn Bài viết này sẽ trình bày một số kết quả đạt được cũng như những hạn chế còn tồn tại trong dự án.
- Nâng cao khả năng trình bày vấn đề.
- Vận dụng được các kiến thức đã học giải quyết bài toán.
Khảo sát quy trình quản lý nhân sự tại công ty bảo hiểm nhân thọ Dai-ichi nhằm phân tích và thiết kế chức năng cũng như dữ liệu phần mềm dựa trên khảo sát thực tế.
- Phân quyền hệ thống và xây dựng các giao diện theo chức năng theo phân tích thiết kế.
- Khả năng áp dụng vào thực tế còn hạn chế do quá trình khảo sát thực tế còn thiếu kinh nghiệm.
- Thời gian khá ít nên một số vấn đề chưa được giải quyết tối ưu.
- Một số chức năng còn hạn chế.
- Bổ sung và hoàn thiện thêm giao diện người dùng.
- Bổ sung các chức năng quản lý.
- Tăng cường chế độ bảo mật cho phần mềm.