Lời mở đầu Nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng động và sáng tạo để tạo ra ngày càng nhiều sản phẩm cho xã hội. Các công ty luôn luôn phát triển, các hồ sơ tuyển vào sẽ nhiều lên vì vậy đòi hỏi phải cần rất nhiều những kho chứa hồ sơ để lưu trữ hồ sơ của nhân viên khi vào công ty. để giảm đi những bất cập trong công tác quản lý nhân sự và lương trong công ty, giải pháp hiệu quả nhất hiện nay là đầu tư công nghệ và thiết bị hiện đại, ứng dụng công nghệ thông tin, tự động hoá trong điều hành và quản lý nhân sự để nâng cao chất lượng phục vụ, đổi mới phương thức quản lý, tăng năng xuất. Đó cũng là lý cho nhóm đã chọn và phát triển ứng dụng web hỗ trợ quản lý nhân sự.Mục tiêu đề tài Tạo ứng dụng web quản lý nhân sự áp dụng công nghệ Spring MVC và hibernate.
Phạm vi ứng dụng của đề tài Ứng dụng dành cho các công ty vừa và nhỏ. Giúp công ty quản lý hồ sơ, lương, thông tin nhân sự, giảm tải bớt thời gian tìm kiếm, hiệu quả và tính chính xác cao. 1 Downloaded by Huyen DO (tailieuso.com) lOMoARcPSD|38592384 Chương II. GIỚI THIỆU CÔNG NGHỆ I.
Công cụ lập trình 1. Giới thiệu về Eclipse 1.1 Ngôn ngữ lập trình Java Java là một ngôn ngữ lập trình mạnh mẽ, có tính chất hướng đối tượng, và thường được sử dụng trong các hệ thống có tính độc lập cao. Java thường được sử dụng để lập trình ra các ứng dụng “write one, run everywhere” (viết một lần, chạy mọi nơi”. Java có các lợi ích như: Đơn giản: Nếu bạn đã từng biết qua C++ thì bạn có thể thấy đó là một ngôn ngữ đơn giản và dễ viết, Java nó cũng thế bởi cú pháp của nó cũng dựa trên C++.
Các đối tượng không có tham chiếu sẽ được tự động xóa bỏ mà bạn không phải mất công tìm kiếm nó. Hướng đối tượng: hướng đối tượng là một trong những khả năng đặc biệt quan trọng trong các ngôn ngữ lập trình hiện đại. Java là một ngôn ngữ hướng đối tượng, có các khái niệm về: Đối tượng, lớp, tính kế thừa, tính đa hình, tính trừu trượng, tính bao gói,… Bảo mật: Java là một chương trình chạy bên trong các hộp thiết bị ảo. Nó không dễ dàng bị xâm nhập và phá hoại.
Đa luồng (Multi-thread): Java có thể tạo ra các luông riêng lẻ hoặt động đồng thời cùng một lúc, nâng cao hiệu xuất làm việc của ứng dụng.2 Môi trường lập trình Eclipse Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM. Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse người dùng có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug- in Development Environment). Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java. Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các thư viện hỗ trợ phát triển phần mềm.
2 Downloaded by Huyen DO (tailieuso. Giới thiệu về hệ quản trị cơ sở dữ liệu SQL Sever 2012 Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ. SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ hay còn được gọi là Relation Database Management System (RDBMS). Cơ sở dữ liệu quan hệ là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng.
Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột và các hàng thông tin. Sau đó các bảng này lại liên hệ với nhau bởi Database Engine khi có yêu cầu. RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay. Các tính năng nổi bật của SQL Server 2012: Tính năng SQL Server AlwaysOn và đáp ứng 9s.
Hiệu suất nhanh nhờ công nghệ bộ nhớ trong xVelocity. Power View và PowerPivot và đột phá khai thác dữ liệu nhanh. Dữ liệu thống nhất và đáng tin cậy nhờ BI Semantic Model và Data Quality Services. Chỉ một lần viết ứng dụng, chạy được ở bất cứ đâu với các công cụ dữ liệu của SQL Server.
Quy mô theo yêu cầu từ các thiết bị trung tâm dữ liệu cho tới điện toán đám mây. Spring Framework la Java EE framework rất nổi bật và phổ biến hiện nay Spring Framework phát hành phiên bản đầu tiên bởi Rod Johnson. Việc xây dựng các ứng dụng doanh nghiệp trở nên đơn giản và dễ dàng hơn. Để ngăn chặn sự phức tạp trong phát triển các ứng dụng, Spring Framework thường dựa trên các quan điểm như sau: Đơn giản hóa công việc phát triển thông qua việc sử dụng các đối tượng Java đơn giản hay còn được gọi là POJO (Plain Old Java Object).
Nới lỏng ràng buộc giữa các thành phần thông qua việc sử dụng Dependency Injection và viết các interface. Tiếp cận lập trình khai báo bằng cách sử dụng các quy tắc (convention) và các khía cạnh (aspect) chung. 3 Downloaded by Huyen DO (tailieuso. Hibernate framework là một giải pháp ORM (Object Relational Mapping) mã nguồn mở, gọn nhẹ.
Hibernate giúp đơn giản hoá sự phát triển của ứng dụng java để tương tác với cơ sở dữ liệu. Tool ORM giúp đơn giản hoá việc tạo ra dữ liệu, thao tác dữ liệu và truy cập dữ liệu. Đó là một kỹ thuật lập trình để ánh xạ đối tượng vào dữ liệu được lưu trữ trong cơ sở dữ liệu. Hibernate Framework có các lợi ích như: Mã nguồn mở và nhẹ: Hibernate Framework là mã nguồn mở có giấy phép LGPL và nhẹ.
Hiệu suất nhanh: Hiệu suất của Hibernate Framework là nhanh bởi vì bộ nhớ cache được sử dụng trong nội bộ Hibernate Framework. Có hai loại bộ nhớ cache trong Hibernate Framework, gồm bộ nhớ cache cấp một và bộ nhớ cache cấp hai. Bộ nhớ cache cấp một được bật bằng lệnh mặc định. Truy vấn cơ sở dữ liệu độc lập: HQL (Hibernate Query Language) là phiên bản hướng đối tượng của SQL.
Nó tạo ra các truy vấn cơ sở dữ liệu độc lập. Vì vậy, bạn không cần phải viết các truy vấn cơ sở dữ liệu cụ thể. Trước Hibernate, nếu dự án có cơ sở dữ liệu bị thay đổi, chúng ta cần phải thay đổi truy vấn SQL dẫn đến sự cố bảo trì. Tạo bảng tự động: Hibernate framework cung cấp phương tiện để tạo ra các bảng cơ sở dữ liệu tự động.
Vì vậy, không cần phải tạo ra các bảng trong cơ sở dữ liệu bằng tay. Đơn giản lệnh join phức tạp: Có thể lấy dữ liệu từ nhiều bảng một cách dễ dàng với Hibernate framework. Cung cấp thống kê truy vấn và trạng thái cơ sở dữ liệu: Hibernate hỗ trợ bộ nhớ cache truy vấn và cung cấp số liệu thống kê về truy vấn và trạng thái cơ sở dữ liệu. 4 Downloaded by Huyen DO (tailieuso.com) lOMoARcPSD|38592384 * Chương III.
PHÂN TÍCH THIẾT KẾ I.Phân tích chức năng 1. Quản lý nhân viên Quản lý thông tin chức vụ: quản lý thông tin chức vụ nhân viên Quản lý thông tin nhân viên: quản lý tất cả các thông tin nhân viên như họ tên, mã nhân viên, địa chỉ, số điện thoại, email. Quản lý phòng ban Quản lý thông tin phòng ban: quản lý những thông tin như tên phòng, số điện thoại liên hệ. Quản lý hợp đồng Quản lý thông tin hợp đông: quản lý những thông tin như loại hợp đồng, thời gian hợp đồng hết hạn.
Thống kê những hợp đồng sắp hết hạn trong 30 ngày tới. Quản lý ngày nghỉ nhân viên Quản lý ngày nghĩ của nhân viên để hổ trợ tính lương. Xem những nhân viên đã nghĩ trong những ngày trước đây. Quản lý tài khoản Quản lý tài khoản nhân viên, chỉ những trưởng phòng ở các phòng ban mới có tài khoản.
Quản lý trình độ học vấn Quản lý thông tin trình độ học vấn của nhân viên và chuyên ngành nhân viên đã qua đoàn tào. Quản trị hệ thống Phân quyền người dùng: Người dùng phải đăng nhập để sử dụng hệ thống, có thể đổi mật khẩu mà mình sở hữu, mã nhân viên là tên đăng nhập của người dùng. Admin có thêm chức năng: thêm, sửa xóa tài khoản người dùng, người dùng bình thường không có quyền này. Tính lương Tính lương: Cuối mỗi tháng tính tiền lương cho nhân viên dựa trên số ngày nghỉ, bậc lương, và bậc phụ cấp của nhân viên, hỗ trợ xuất ra file excel 5 Downloaded by Huyen DO (tailieuso.com) lOMoARcPSD|38592384 II.
Sơ đồ UC (Use Case) 6 Downloaded by Huyen DO (tailieuso.1 Use case “Dang Nhap” ID use case 1 Tên use case Đăng Nhập Mục đích Đăng nhập vào hệ thống Tác nhân Admin, Trưởng Phòng Ngày tạo 23/5/2018 Người tạo Huỳnh Hữu Trọng Phiên bản 1.0 Dòng sự kiện - Mô tả: Use case này bắt đầu khi actor vào web và muốn đăng nhập vào hệ thống web - Chuỗi liên kết các công việc: 1. Hệ thống yêu cầu actor nhập tên và mật khẩu. Actor nhập tên và mật khẩu. Hệ thống kiểm tra tên và mật khẩu được nhập và cho phép actor đăng nhập vào hệ thống.
- Điều kiện cuối: nếu use case thành công, actor lúc này đã đăng nhập vào hệ thống. Nếu không, trạng thái hệ thống không thay đổi. - Xữ lý ngoại lệ: Nếu actor nhập sai tên hoặc mật khẩu hệ thống sẽ hiển thị thông báo đăng nhập thất bại. Điều kiện tuyên quyết Không 7 Downloaded by Huyen DO (tailieuso.2 Use case “QL Nhan Vien” ID use case 2 Tên use case Quản lý nhân viên Mục đích Quản lý thông tin nhân viên Tác nhân Admin, Trưởng Phòng Ngày tạo 23/5/2018 Người tạo Huỳnh Hữu Trọng Phiên bản 1.0 Dòng sự kiện - Mô tả: Chức năng này cho phép actor quản lý các thông tin của nhân viên, thêm, sửa, xóa thông tin nhân viên.
- Chuỗi liên kết các công việc: 1. Danh sách nhân viên sẽ được thể hiện dưới dạng bảng với một số thông tin cá nhân của nhân viên. Xem chi tiết của một nhân viên, click vào nút “Xem” ứng với nhân viên đó.Click vào nút “Sửa” khi muốn thay đổi thông tin của nhân viên , nhấn nút “Lưu” để lưu thông tin thay đổi lại, nhấn nút “Hủy” khi không muốn lưu.