1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm quản lý nhân sự đồ án tốt nghiệp

110 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng phần mềm quản lý nhân sự
Tác giả Nguyễn Chí Thịnh
Người hướng dẫn Th.S Hà Trọng Thắng
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Bắc Ninh
Định dạng
Số trang 110
Dung lượng 4,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

3.Tóm tắt nội dung Tìm hiểu công nghệ Spring boot để ứng dụng xây dựng phần mềm quản lý nhân sự cho công ty FintechViet với mục đích nhắm giúp cho việc quản lý nhân sự trong công ty dễ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

TÊN ĐỀ TÀI XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÂN SỰ

Sinh viên thực hiện : Nguyễn Chí Thịnh

Trang 2

2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP

TÊN ĐỀ TÀI XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÂN SỰ

GIẢNG VIÊN HƯỚNG DẪN: Th.S Hà Trọng Thắng

Họ và tên sinh viên: Nguyễn Chí Thịnh

Ngày sinh: 01/06/1999 Khóa: 8

Lớp: DCCNTT8.10 Ngành: Công nghệ thông tin Điểm báo cáo Bằng số: Bằng chữ:

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

DANH MỤC HÌNH ẢNH 2

MỞ ĐẦU 4

Chương 1 Giới thiệu về công nghệ 5

1.1 Cấu trúc của dự án sử dụng Spring boot, Angular, Hibernate 5

1.2 Giới thiệu về Spring Boot 6

1.2.1 Spring Boot là gì? 6

1.2.2 Ưu điểm của Spring boot 7

1.2.3 Tạo dự án Spring boot 8

1.2.4 Chạy dự án Spring boot đơn giản trên Eclipse 13

1.2.5 Các thành phần trong một dự án Spring boot thực tế 19

1.3 Giới thiệu về Angular 23

1.3.1 Angular là gì? 23

1.3.2 Kiến trúc của Angular 25

1.4 Giới thiệu về Hibernate Framework 27

1.4.1 Hibernate Framework là gì? 27

1.4.2 Kiến trúc của Hibernate 28

Chương 2 Mô tả các yêu cầu của hệ thống 30

2.1 Khảo sát hệ thống 30

2.2 Hoạt động của hệ thống 32

2.2.1 Hoạt động quản lý thông tin nhân viên 32

2.2.2 Hoạt động chấm công, tính lương 32

2.2.3 Tài liệu thu thập được 33

2.3 Các yêu cầu hệ thống 36

2.3.1 Yêu cầu chức năng 36

2.3.2 Yêu cầu phi chức năng 36

Chương 3 Phân tích các yêu cầu chức năng của hệ thống 38

3.1 Biểu đồ usecase 38

Trang 4

2

3.1.2 Biểu đồ usecase chính 39

3.1.3 Biểu đồ usecase quản lý nhân viên 40

3.1.4 Biểu đồ usecase quản lý tài khoản 41

3.1.5 Biểu đồ usecase quản lý chấm công 41

3.1.6 Biểu đồ usecase quản lý tính lương 42

3.2 Mô tả chi tiết các usecase 43

3.2.1 Đăng nhập 43

3.2.2 Cập nhật thông tin cá nhân 43

3.2.3 Xem thông tin cá nhân 47

3.2.4 Quản lý chấm công 48

3.2.5 Quản lý nhân viên 50

3.2.6 Quản lý tài khoản 52

3.2.7 Quản lý tính lương 54

3.3 Sơ đồ khối các luồng sự kiện 57

3.3.1 Sơ đồ khối thêm nhân viên 57

3.3.2 Sơ đồ khối sửa thông tin nhân viên 58

3.3.3 Sơ đồ khối xóa nhân viên 59

3.3.4 Sơ đồ khối thêm tài khoản 60

3.3.5 Sơ đồ khối sửa thông tin tài khoản 61

3.3.6 Sơ đồ khối xóa tài khoản 62

3.3.7 Sơ đồ khối import bảng chấm công 63

3.3.8 Sơ đồ khối thống kê lương nhân viên 64

3.3.9 Sơ đồ khối export bảng lương 65

Chương 4 Thiết kế cơ sở dữ liệu 66

4.1 Mô hình hóa dữ liệu 66

4.1.1 Biểu đồ thực thể liên kết 66

4.1.2 Mô tả vắn tắt các thực thể 67

4.1.3 Các quy tắc nghiệp vụ 68

4.2 Thiết kế bảng 70

4.2.1 Bảng nhân viên 70

4.2.2 Bảng phòng ban 70

4.2.3 Bảng chấm công 70

Trang 5

4.2.4 Bảng lương 71

4.2.5 Bảng tài khoản 71

4.2.6 Bảng thông tin gia đình 71

4.2.7 Bảng quá trình công tác 71

4.2.8 Bảng quá trình đào tạo 72

4.2.9 Bảng bằng cấp chứng chỉ 72

4.2.10 Bảng đánh giá nhân viên 72

.2.11 Bảng tính lương tháng 72

4.3 Quan hệ giữa các bảng trong hệ quản trị CSDL 73

Chương 5 Thiết kế các chức năng của hệ thống 74

5.1 Usecase quản lý tài khoản 74

5.1.1 Biểu đồ trình tự 74

5.1.2 Biểu đồ lớp 77

5.2 Usecase cập nhật thông tin cá nhân 78

5.2.1 Biểu đồ trình tự 78

5.2.2 Biểu đồ lớp 79

5.3 Usecase quản lý chấm công 80

5.3.1 Biểu đồ trình tự 80

5.3.2 Biểu đồ lớp 82

5.4 Usecase quản lý tính lương 83

5.4.1 Biểu đồ trình tự 83

5.4.2 Biểu đồ lớp 85

5.5 Usecase quản lý nhân viên 86

5.5.1 Biểu đồ trình tự 86

5.5.2 Biểu đồ lớp 88

Chương 6 Thiết kế giao diện và cài đặt 89

6.1 Màn hình đăng nhập 89

6.2 Màn hình quản lý nhân viên 89

6.3 Màn hình nhập hồ sơ nhân viên 90

6.4 Màn hình xem thông tin nhân viên 90

6.5 Màn hình quản lý tài khoản 93

Trang 6

4

6.7 Màn hình xem thông tin tài khoản 94

6.8 Màn hình tạo tài khoản 94

6.9 Màn hình thông kê lương tháng 95

6.10 Màn hình quản lý tiền lương 95

6.11 Mẫu xuất báo cáo danh sách nhân sự 96

Chương 7 Quy trình sử dụng hệ thống 98

B1: Đăng nhập hệ thống 98

B2: Nhập hồ sơ nhân viên 98

B3:Tạo tài khoản cho nhân viên 99

B4: Nhập lương cho nhân viên 100

B5: Import file chấm công của nhân viên (file chấm công xuất từ máy chấm công và theo file như mẫu ) 100

B6: Thống kê lương tháng của nhân viên Danh sách chi tiết bảng lương nhân viên và có thể export bảng lưởng nhân viên 102

TỔNG KẾT VÀ ĐÁNH GIÁ 103

1 Tổng kết và đánh giá 103

2 Hướng phát triển của đề tài 103

TÀI LIỆU THAM KHẢO 104

Trang 7

LỜI CẢM ƠN

Để hoàn thành chuyên đề báo cáo đồ án này trước tiên em xin gửi lời cảm

ơn chân thành đến các thầy, cô khoa Công nghệ thông tin - trường Đại học Công Nghệ Đông Á đã truyền dạy cho em những kiến thức quý báu trong suốt bốn năm học vừa qua Đặc biệt, em xin gửi lời cảm ơn sâu sắc nhất đến giảng viên hướng dẫn – Th.S Hà Trọng Thắng – người đã tận tình hướng dẫn, chỉ bảo

và đưa ra định hướng đúng đắn cho em trong suốt thời gian thực hiện đồ án vừa qua để em có thể hoàn thành đồ án của mình với một kết quả tốt nhất

Mặc dù bản thân em đã rất cố gắng nhưng do thời gian có hạn, vốn kiến thức vẫn còn nhiều hạn chế và thiếu sót nên bài báo cáo của em khó có thể tránh khỏi những sai sót và những phần chưa được chính xác Em rất mong nhận được sự thông cảm và đóng góp ý kiến của cô để em có thể hoàn thiện đồ án của mình tốt hơn

Cuối cùng, em kính chúc thầy và gia đình thật dồi dào sức khỏe, đạt được nhiều thành công trong cuộc sống!

Em xin chân thành cảm ơn!

Trang 8

2

DANH MỤC HÌNH ẢNH

Hình 1 Mô hình dự án Spring boot, Angular, Hibernate 5

Hình 2 Spring boot trong kiến trúc Spring 6

Hình 3 Giao diện công cụ Spring initializr 8

Hình 4 Cấu trúc thư mục một sự án Spring thực tế 19

Hình 5 Kiến trúc cơ bản của angular 25

Hình 6 Sơ đồ ánh xạ đối tượng vào dữ liệu được lưu trong cơ sở dữ liệu 27

Hình 7 Kiến trúc của Hibernate 28

Hình 8 Sơ đồ tổ chức bộ máy công ty 30

Hình 9 Mẫu thống kê bảng chấm công tháng 33

Hình 10 Mẫu sơ yếu lý lịch nhân viên 35

Hình 11 Biểu đồ usecase chính 39

Hình 12 Biểu đồ usecase quản lý nhân viên 40

Hình 13 Biểu đồ usecase quản lý tài khoản 41

Hình 14 Biểu đồ usecase quản lý chấm công 41

Hình 15 Biểu đồ usecase quản lý tính lương 42

Hình 16 Sơ đồ khối thêm nhân viên 57

Hình 17 Sơ đồ khối sửa thông tin nhân viên 58

Hình 18 Sơ đồ khối xóa nhân viên 59

Hình 19 Sơ đồ khối thêm tài khoản 60

Hình 20 Sơ đồ khối sửa tài khoản 61

Hình 21 Sơ đồ khối xóa tài khoản 62

Hình 22 Sơ đồ khối import chấm công 63

Hình 23 Sơ đồ khối thống kê lương 64

Hình 24 Sơ đồ khối export bảng lương 65

Hình 25 Biểu đồ thực thể liên kết 66

Hình 26 Bảng nhân viên 70

Hình 27 Bảng phòng ban 70

Hình 28 Bảng chấm công 70

Hình 29 Bảng lương 71

Hình 30 Bảng tài khoản 71

Trang 9

Hình 31 Bảng thông tin gia đình 71

Hình 32 Bảng quá trình công tác 71

Hình 33 Bảng quá trình đào tạo 72

Hình 34 Bảng bằng cấp chứng chỉ 72

Hình 35 Bảng đánh giá nhân viên 72

Hình 36 Bảng tính lương tháng 72

Hình 37 Sơ đồ quan hệ giữa các bảng 73

Hình 38 Biểu đồ trình tự Usecase Quản lý tài khoản 76

Hình 39 Biểu đồ lớp usecase quản lý tài khoản 77

Hình 40 Biểu đồ trình tự usecase cập nhật thông tin cá nhân 78

Hình 41 Biều đồ lớp usecase cập nhật thông tin cá nhân 79

Hình 42 Biểu đồ trình tự usecase quản lý chấm công 81

Hình 43 Biểu đồ lớp usecase quản lý chấm công 82

Hình 44 Biểu đồ usecase quản lý tính lương 84

Hình 45 Biểu đồ lớp usecase quản lý tính lương 85

Hình 46 Biểu đồ trình tự usecase quản lý nhân viên 87

Hình 47 Biểu đồ lớp usecase quản lý nhân viên 88

Hình 48 Màn hình đăng nhập 89

Hình 49 Màn hình danh sách nhân viên 89

Hình 50 Màn hình nhập hồ sơ nhân viên 90

Hình 51 Màn hình xem thông tin nhân viên 92

Hình 52 Màn hình quản lý tài khoản 93

Hình 53 Màn hình quản lý chấm công 93

Hình 54 Màn hình xem thông tin tài khoản 94

Hình 55 Màn tạo tài khoản 94

Hình 56 Màn hình thông kê lương tháng 95

Hình 57 Màn quản lý tiền lương 95

Hình 58 Mẫu xuất báo cáo danh sách nhân sự 96

Hình 59 Mẫu xuất bảng lương nhiều nhân viên 96

Hình 60 Mẫu xuất báo cáo lương 1 nhân viên 97

Trang 10

Xuất phát từ thực tế, cũng như nhu cầu quản lý nhân sự hiện nay tại công

ty cổ phần FintechViet Em nhận thấy việc quản lý của công ty không còn phù hợp với quy mô và công nghệ hiện nay do đó em muốn xây dựng một hệ thống giúp cho việc quản lý nhân sự của công ty trở lên dễ dàng, thuận tiện hơn, đạt hiệu quả tốt hơn Đồng thời giúp tiết kiệm chi phí một cách tối đa mà vẫn đảm bảo những chức năng quan trọng, cần thiết và hệ thống hoạt động một cách ổn định, hiệu năng cao nhất Qua quá trình tìm hiểu, xác định công nghệ để xây dựng hệ thống, em nhận thấy Spring boot là một công nghệ mạnh mẽ, hiệu quả, rất phù hợp với xu hướng hiện nay Do đó, em đã quyết định theo đuổi, tìm hiểu sâu về công nghệ này để xây dựng lên hệ thống quản lý nhân sự

3.Tóm tắt nội dung

Tìm hiểu công nghệ Spring boot để ứng dụng xây dựng phần mềm quản

lý nhân sự cho công ty FintechViet với mục đích nhắm giúp cho việc quản lý nhân sự trong công ty dễ dàng hiệu quả hơn, thay thế cách thức quản lý hiện tại

đã lạc hậu, không đáp ứng tốt nhu cầu

Nội dung chính gồm 6 chương:

 Chương 1 Giới thiệu về công nghệ

 Chương 2 Mô tả các yêu cầu của hệ thống

 Chương 3 Phân tích các yêu cầu chức năng của hệ thống

 Chương 4 Thiết kế cơ sở dữ liệu

 Chương 5 Thiết kế các chức năng của hệ thống

 Chương 6 Thiết kế giao diện và cài đặt

Trang 11

Chương 1 Giới thiệu về công nghệ

1.1 Cấu trúc của dự án sử dụng Spring boot, Angular, Hibernate

Hình 1 Mô hình dự án Spring boot, Angular, Hibernate

Trang 12

 Spring Boot được đóng gói với rất nhiều thư viện phụ thuộc các module nền tảng của Spring Framework nhưng được giảm thiểu đi các mã nguồn dài dòng, phức tạp nhằm cung cấp sự thuận tiện và phù hợp với từng mục đích khi phát triển ứng dụng

 Spring boot cung cấp tính năng RAD(Rapid Application Development) - có nghĩa là phát triển ứng dụng một cách nhanh chóng, giúp tăng cao năng suất cho lập trình viên

 Spring Boot Framework được sử dụng rộng rãi để phát triển các REST APIs

Hình 2 Spring boot trong kiến trúc Spring

Trang 13

1.2.2 Ưu điểm của Spring boot

Spring boot ra đời nhằm khắc phục điểm hạn chế của Spring là các bước cấu hình rất phức tạp, mất rất nhiều thời gian để ứng dụng có thể chạy được Do đó, Spring boot có những ưu điểm sau:

 Có các tính năng của Spring Framework

 Tạo ứng dụng độc lập, có thể chạy bằng java -jar (cho cả java web)

 Nhúng trực tiếp các ứng dụng server (Tomcat, Jetty…) do đó không cần phải triển khai file WAR, không cần cấu hình server

 Cấu hình ít, tự động cậu hình bất kì khi nào có thể (Giảm thời gian viết code, tăng năng suất)

 Không yêu cầu cầu hình XML, xây dựng các bean dự trên annotation

 Cung cấp nhiều plugin

 Chuẩn cho Microservices (Cloud support; giảm việc setup, config; các thư viện

hỗ trợ…)

 Ví dụ ưu điểm của dự án sử dụng cấu hình của Spring boot

Cấu hình một model tương ứng với một bảng trong cơ sở dữ liệu

+ Với Spring MVC thông thường: cần cấu hình file xml phức tạp khi muốn khai báo một package chứa các model

+ Với Spring boot: sử dụng anotation @Entity, @Table ngắn gọn đơn giản, Spring boot sẽ xác định đây là một class tương ứng với bảng bang_luong trong

cơ sở dữ liệu

Trang 14

8

1.2.3 Tạo dự án Spring boot

 Trên website của Spring có một công cụ giúp chúng ta nhanh chóng khởi tạo project Spring boot gọi là Spring Initializr Spring Initializr có thể truy cập trên website tại địa chỉ http://start.spring.io/

Hình 3 Giao diện công cụ Spring initializr

 Mô tả về các thành phần của công cụ:

Project: Chọn loại chương trình dùng để quản lý, build dự án

Language: Chọn loại ngôn ngữ để viết code dự án

Dependencies: Thêm các thư viện vào dự án để sử dụng

Spring boot: Chọn phiên bản Spring boot cho dự án

Trang 15

Project Metadata: Gồm các thông tin về tên các package của dự án và phiên bản

của ngôn ngữ được sử dụng

 Các bước tạo dự án Spring boot với Spring initializr:

Bước1 Khai báo thông tin dự án

 Loại project: là chọn loại package manager nào, Maven hoặc Gradle

 Language: chọn ngôn ngữ code, chọn Java

 Phiên bản Spring Boot: Các version có SNAPSHOT là bản chưa ổn định, không nên chọn

 Loại file build ra: với Spring Boot thì nên chọn JAR để đỡ cấu hình Tomcat server

 Phiên bản Java: chọn phiên bản java theo phiên bản đã được cấu hình trong máy tính của mình

Bước 2 Chọn dependency

 Click vào Add Dependencies

 Chọn dependencies cần thiết cho dự án

Trang 16

10

 Đây là một số dependencies cơ bản để tạo một dự án web spring boot

Trang 17

Bước 3: Chọn GENERATE để tạo và download dự án về máy

Trang 18

12 Bước 4: Giải nén file vừa tải về

Đây là thư mục dự án Spring boot

Trang 19

1.2.4 Chạy dự án Spring boot đơn giản trên Eclipse

Bước 1: Cài đặt Spring tool

Để chạy được dự án Spring boot trên Eclipse, trước tiên chúng ta cần cài đặt Spring tool

 Tại giao diện Eclipse Chọn Help -> Eclipse MarketPlace

 Tìm kiếm Spring tool -> chọn install, nếu màn hiển hiển thị Installed có nghĩa là Spring tool đã được cài đặt

Trang 20

14 Bước 2: Import dự án Spring boot

 Chọn file -> Import

Trang 21

 Chọn Maven -> Existing Maven Projects

 Chọn Next

 Chọn Browse và tìm đến folder dự án

Trang 22

16

 Chọn Select Folder -> Chọn Finish

 Đây là cấu trúc thư mục của dự án

Bước 3: Chạy dự án Spring boot

 Spring boot cung cấp một ApplicationClass để khởi động ứng dụng từ hàm main()

sử dụng phương thức static SpringApplication.run, anotation

@SpringBootApplication giúp chương trình hiểu rằng đây là nơi khởi chạy ứng dụng

Trang 23

 Để chạy dự án Spring boot, click chuột phải vào dự án -> chọn Run as -> Chọn Spring boot app

Trang 24

18

 Build thành công, dự án chạy tại cổng 8080

 Truy cập http://localhost:8080/ , đây là kết quả

Trang 25

1.2.5 Các thành phần trong một dự án Spring boot thực tế

 Cấu trúc dự án

Hình 4 Cấu trúc thư mục một sự án Spring thực tế

Src/main/java là nơi chứa các package viết các class mã nguồn java

+ Src/main/resources là nơi chứa các file html, css, javascript để hiển thị lên giao diện website, trong đồ án này em sử dụng Angular

+ Application.properties: Nơi cấu hình dự án, trong đó có cấu hình để kết nối với cơ sở dữ liệu

Trang 26

 Controller: nơi viết các api xử lý, điều khiển luồn hoạt động của chương trình

Ví dụ: Đây là lớp sẽ sử lý những request từ client mà có uri bắt đầu bằng “/api”,

+ @RestController và @RequestMapping là anotation của Spring boot giúp

cho chương trình nhận biết đây là lớp xử lý khi có bất cứ request nào từ

Client mà có URI bắt đầu là “/api”

+ Trong lớp NhanVienController còn có nhiều phương thức để xử lý từng

request có URI cụ thể hơn, ví dụ như:

Trang 27

+ Đây là 2 phương thức để xử lý request tới 2 URI là “/api/nhan-vien” và

“api/nhan-vien/{id}”, bên trong là các hàm xử lý và trả về giá trị với từng request cụ thể của client

+ @RequestBody là anotation giúp cho chương trình hiểu đây là dữ liệu từ client gửi về phía server

 Model: chứa các class tương ứng với từng bảng trong cơ sở dữ liệu, sử dụng Hibernate để mapping Object trong java với Table trong cơ sở dữ liệu

Ví dụ: Tạo class NhanVien mapping với bảng nhan_vien trong sơ sở dữ liệu

+ @Id: Anotation quy định thuộc tính này là khóa chính

+ @GeneratedValue: Anotation quy định giá trị của cột này trong cơ sở dữ liệu sẽ được tạo tự động khi thêm bản ghi mới

+ @Column: Anotation quy định thuộc tính này được map tương ứng với cột nào của bảng

 Service: chứa các class service để truy xuất, thao tác với dữ liệu trong cơ sở dữ liệu

Ví dụ: tạo class NhanVienService để thao tác với bảng nhân viên trong cơ sở dữ liệu

Trang 28

22 + @Service: Anotation quy định đây là một class service của spring boot

Trang 29

1.3 Giới thiệu về Angular

 2 tính năng nổi bật của Angular là Data binding và Dependency injection có thể loại bỏ phần lớn code mà người lập trình thường xuyên phải viết Điều này xảy

ra trong mọi trình duyệt và giúp nó trở thành đối tác lý tưởng của mọi công nghệ Server

 Có thể tái sử dụng component dễ dàng hơn

 Hỗ trợ cho các lập trình viên có thể viết code được ít hơn với nhiều chức năng hơn

 Có thể chạy Angular trên nhiều loại trình duyệt khác nhau lẫn PC hoặc mobile

 Nhược điểm:

 Bảo mật kém: Thông thường, bản chất của Angular là một trong những các Front End, mà front end này thường vốn không thể bảo mật bằng Back End

Trang 31

1.3.2 Kiến trúc của Angular

Hình 5 Kiến trúc cơ bản của angular

Trang 32

Directive được sử dụng trong template của Component nhằm để mở rộng các hành

vi của Html

Databinding

 Dữ liệu có thể được hiển thị tương ứng với các file html trong component Angular cung cấp cơ chế gắn kết dữ dữ liệu với giao diện (template) của component cơ chế đó được gọi là databinding

 Thông qua cơ chế Databinding, bất kỳ thay đổi dữ liệu trong Angular, thì giao điện tương tác sẽ tự động cập nhật các thay đổi dữ liệu đó Tương tác về sự thay đổi dữ liệu trong Angular với phía giao diện (UI) có thể theo hướng 1 chiều hoặc

2 chiều

Trang 33

1.4 Giới thiệu về Hibernate Framework

1.4.1 Hibernate Framework là gì?

 Hibernate là 1 ORM(Object – Relational – Mapping) Framework Nó dùng để

thực hiện mapping cơ sở dữ liệu quan hệ sang các Object trong phần ngôn ngữ hướng đối tượng

 Hibernate là một Framework cho persistence layer thực hiện giao tiếp giữa các

tầng dữ liệu với các phần ứng dụng như kết nối, truy xuất, lưu trữ Nó là một kỹ thuật ORM mã nguồn mở, gọn nhẹ Hibernate hỗ trợ các API để lưu trữ và lấy các đối tượng java trực tiếp từ database

 Hibernate được ra mắt vào năm 2001 do nhà sáng lập có tên Gavin King đưa ra

Nó giống như một sự thay thế cho EJB2 kiểu thực hể bean Hiện nay, phiên bản mới nhất của Hibernate là 6.0

Hình 6 Sơ đồ ánh xạ đối tượng vào dữ liệu được lưu trong cơ sở dữ liệu

 Ưu điểm:

 Là Framework mã nguồn mở

 Dễ sử dụng: dễ dàng quản lí các kết nối database và dễ fix bug, cung cấp sẵn nhiều API truy vấn

 Sử dụng đầy đủ các hàm truy vấn từ dạng object tới native Sql

 Tính độc lập: không cần quan tâm tới cơ sở dữ liệu sử dụng khi viết câu lệnh SQL

Trang 34

1.4.2 Kiến trúc của Hibernate

 Kiến trúc Hibernate bao gồm nhiều đối tượng như đối tượng persistent, sessionfactory, transactionfactory, connection factory, session,transaction

 Có 4 tầng trong kiến trúc hibernate đó là java application, hibernate framework, tầng backend API và database Dưới đây là sơ đồ kiến trúc hibernate:

Hình 7 Kiến trúc của Hibernate

 Hibernate cung cấp các API Java hiện có, như JDBC, Java Transaction API (JTA)

và Java Naming and Directory Interface (JNDI) JDBC cung cấp một mức độ trừu tượng cơ sở của các chức năng thường dùng trên CSDL quan hệ, cho phép

Trang 35

hầu hết các cơ sở dữ liệu có trình điều khiển JDBC được hỗ trợ bởi JDBC Driver JNDI và JTA cho phép Hibernate được tích hợp với J2EE application servers

Trang 36

 Công ty chuyên cung cấp các dịch vụ CNTT chuyên nghiệp, tư vấn các giải pháp chiến lược về CNTT, tích hợp hệ thống và gia công phần mềm

 Sơ đồ tổ chức bộ máy:

Hình 8 Sơ đồ tổ chức bộ máy công ty

Giám đốc: Là người có quyền hạn cao nhất, quyết định các vấn đề liên quan

đến công việc hàng ngày và những hoạt động của công ty, là người chịu trách nghiệm trước nhà nước, trước tập thể cán bộ nhân viên trong công ty

Phòng hành chính nhân sự: Chịu trách nhiệm về việc tổ chức, quản lý nhân

sự và công tác tuyển dụng, thay đổi nhân sự Xây dựng các quy chế làm việc, quy chế tiền lương, khen thưởng, kỷ luật

Phòng hệ thống: Chịu trách nhiệm về việc quản lý hạ tầng công nghệ thông

tin của công ty, gồm: kết nối internet, wifi, các ứng dụng, máy chủ, database, Đảm bảo hệ thống mạng, các thiết bị kỹ thuật hoạt động ổn định, an toàn

Trang 37

Phòng kinh doanh: Chịu trách nhiệm về mảng kinh doanh, tìm kiếm, thu hút

khách hàng

Phòng phát triền phần mềm: Có nhiệm vụ đưa ra các giải pháp, quy trình

phát triển phần mềm cho khách hàng Phân tích và xác nhận các yêu cầu từ phía khách hàng Trực tiếp tham gia nghiên cứu, thiết kế, lập trình, tạo ra sản phẩm theo dự án

 Quy mô: khoảng 30 cán bộ, nhân viên

 Hình thức quản lý nhân sự hiện tại:

 Dữ liệu về thông tin của nhân viên sẽ được người quản lý nhân sự nhập và quản lý trên Excel

 Việc chấm công, tính lương phải thực hiện nhiều thao tác thủ công để tính toán dễ gây sai sót

 Nhược điểm:

 Cần nhiều thao tác thủ công làm tốn thời gian, công sức, dễ gây sai sót

 Tìm kiếm, xử lý dữ liệu chậm

 Khả năng mở rộng thấp

 Hướng phát triển hiện tại: Cần xây dựng một phần mềm để:

 Quản lý thông tin cán bộ nhân viên trong công ty, gồm các thông tin: mã nhân viên, họ tên, ngày sinh, CMND, giới tính, quê quán, địa chỉ hiện tại, lương cơ bản, chức vụ, phòng ban, số điện thoại, email, học vấn, thông tin sơ yếu lý lịch,

 Quản lý chấm công, tính lương tự động cho nhân viên

 Nhân viên có thể truy cập vào hệ thống để cập nhật một số thông tin của mình

Trang 38

32

2.2 Hoạt động của hệ thống

2.2.1 Hoạt động quản lý thông tin nhân viên

 Khi có nhân viên mới vào làm việc tại công ty, người quản lý nhân sự sẽ nhập thông tin nhân viên theo hồ sơ của nhân viên lên hệ thống

 Người quản lý nhân sự, giám đốc có thể tạo tài khoản và cấp cho nhân viên mới

để người đó có thể truy cập vào hệ thống và có thể tự cập nhật một số thông tin của mình khi cần thiết

 Người quản lý nhân sự, giám đốc có thể cập nhật thông tin nhân viên, xóa thông tin nhân viên khỏi hệ thống

 Mỗi nhân viên chỉ được phép sử dụng một số chức năng nhất định được giới hạn theo phân quyền tài khoản của mình

2.2.2 Hoạt động chấm công, tính lương

 Dữ liệu chấm công theo từng ngày của nhân viên sẽ được lưu vào máy chấm công bằng vân tay, người quản lý nhân sự có thể xuất dữ liệu chấm công từ máy chấm công ra 1 file Excel và Import, nhập dữ liệu vào hệ thống

 Mỗi cuối tháng, người quản lý nhân sự sẽ dựa vào dữ liệu chấm công từng ngày

để thống kê tổng số công, số ngày nghỉ, số giờ làm thêm của nhân viên và thực hiện tính lương cho từng nhân viên

 Những ngày nghỉ lễ sẽ vẫn được tính công như bình thường

 Số ngày tính công tối đa mỗi tháng là 24

 Thời gian làm việc một ngày từ 8h đến 17h30(bao gồm 1h30p nghỉ trưa), làm việc sau 18h30 sẽ được tính vào giờ làm thêm

 Phạt tiền theo số ngày đi muộn: 2 ngày đi muộn: -50k ; 3 ngày đi muộn: -100k;

4 ngày đi muộn: -200k, từ 5 ngày trở lên: -500k

 Cách tính lương:

 Lương làm thêm giờ = lương cơ bản/24/8 * số giờ làm thêm

Trang 39

 Lương tổng = lương cơ bản/24 * số ngày công + Lương làm thêm giờ + thưởng – khấu trừ (chưa bao gồm thuế thu nhập cá nhân)

2.2.3 Tài liệu thu thập được

 Mẫu bảng thống kê chấm công:

Hình 9 Mẫu thống kê bảng chấm công tháng

Trang 40

34

 Mẫu sơ yếu lý lịch của nhân viên

Ngày đăng: 20/07/2023, 06:33

HÌNH ẢNH LIÊN QUAN

Hình 5 Kiến trúc cơ bản của angular - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 5 Kiến trúc cơ bản của angular (Trang 31)
Hình 7 Kiến trúc của Hibernate - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 7 Kiến trúc của Hibernate (Trang 34)
Hình 11 Biểu đồ usecase chính - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 11 Biểu đồ usecase chính (Trang 45)
Hình 19 Sơ đồ khối thêm tài khoản - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 19 Sơ đồ khối thêm tài khoản (Trang 66)
Hình 23 Sơ đồ khối thống kê lương - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 23 Sơ đồ khối thống kê lương (Trang 70)
Hình 25 Biểu đồ thực thể liên kết - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 25 Biểu đồ thực thể liên kết (Trang 72)
Hình 37 Sơ đồ quan hệ giữa các bảng - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 37 Sơ đồ quan hệ giữa các bảng (Trang 79)
Hình 38 Biểu đồ trình tự Usecase Quản lý tài khoản - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 38 Biểu đồ trình tự Usecase Quản lý tài khoản (Trang 82)
Hình 40 Biểu đồ trình tự usecase cập nhật thông tin cá nhân - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 40 Biểu đồ trình tự usecase cập nhật thông tin cá nhân (Trang 84)
Hình 42 Biểu đồ trình tự usecase quản lý chấm công - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 42 Biểu đồ trình tự usecase quản lý chấm công (Trang 87)
Hình 44 Biểu đồ usecase quản lý tính lương - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 44 Biểu đồ usecase quản lý tính lương (Trang 90)
Hình 46 Biểu đồ trình tự usecase quản lý nhân viên - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 46 Biểu đồ trình tự usecase quản lý nhân viên (Trang 93)
Hình 51 Màn hình xem thông tin nhân viên - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 51 Màn hình xem thông tin nhân viên (Trang 98)
Hình 52 Màn hình quản lý tài khoản - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 52 Màn hình quản lý tài khoản (Trang 99)
Hình 54 Màn hình xem thông tin tài khoản - Xây dựng phần mềm quản lý nhân sự   đồ án tốt nghiệp
Hình 54 Màn hình xem thông tin tài khoản (Trang 100)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w