Tải bản đầy đủ (.pdf) (138 trang)

KHÓA LUẬN tốt NGHIỆP xây DỰNG ỨNG DỤNG QUẢN lý NHÂN sự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.09 MB, 138 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN HUỲNH LỢI
ĐÀO MẠNH DŨNG

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ
Building Human Resource Management Application

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN HUỲNH LỢI - 17520702
ĐÀO MẠNH DŨNG - 17520372

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ
Building Human Resource Management Application


KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
ThS. HUỲNH NGUYỄN KHẮC HUY

TP. HỒ CHÍ MINH, 2021


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………… ngày
……………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1.

…………………………………………. – Chủ tịch.

2.

…………………………………………. – Thư ký.

3.

…………………………………………. – Ủy viên.

4.

…………………………………………. – Ủy viên.


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH


CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày tháng năm 2021

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
Xây dựng ứng dụng quản lý nhân sự
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

NGUYỄN HUỲNH LỢI

17520702

ĐÀO MẠNH DŨNG

17520372

ThS. HUỲNH NGUYỄN KHẮC HUY

Đánh giá Khóa luận:

1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

2. Về nội dung nghiên cứu:




3. Về chương trình ứng dụng:

4. Về thái độ làm việc của sinh viên:

Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN HUỲNH LỢI: ………../10
ĐÀO MẠNH DŨNG: ………../10

Người nhận xét

(Ký và ghi rõ họ tên)

Huỳnh Nguyễn Khắc Huy


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập – Tự Do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày tháng năm 2021

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
Xây dựng ứng dụng quản lý nhân sự
Nhóm sinh viên thực hiện:

Cán bộ phản biện:

NGUYỄN HUỲNH LỢI

17520702

ĐÀO MẠNH DŨNG


17520372

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
2. Về nội dung nghiên cứu:
3. Về chương trình ứng dụng:
4. Về thái độ làm việc của sinh viên:


Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN HUỲNH LỢI: ………../10
ĐÀO MẠNH DŨNG: ………../10

Người nhận xét
(Ký và ghi rõ họ tên)



LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ Thơng tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Huỳnh Nguyễn Khắc Huy đã tận
tình giúp đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý
vơ cùng q báu khơng chỉ trong q trình thực hiện luận văn này mà cịn là hành
trang tiếp bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Trong q trình làm khóa luận này chúng em không tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để khóa luận
được hồn thiện hơn.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.
Thành phố Hồ Chí Minh, 15 tháng 06 năm 2021
Sinh viên
NGUYỄN HUỲNH LỢI

ĐÀO MẠNH DŨNG


MỤC LỤC

Chương 1: TỔNG QUAN ĐỀ TÀI .............................................................................2
1.1. Lý do lựa chọn đề tài ........................................................................................2

1.2. Tìm hiểu các hệ thống liên quan .......................................................................3
1.2.1. Base.vn .......................................................................................................3
1.2.2. OrangeHRM ...............................................................................................4
1.2.3. Tổng kết ......................................................................................................4
1.3. Điểm mới, nổi bật .............................................................................................4
1.3.1. Chấm cơng ..................................................................................................5
1.3.2. Tính lương ..................................................................................................5
1.4. Phương pháp thực hiện .....................................................................................6
1.5. Bố cục báo cáo ..................................................................................................7
Chương 2: KIẾN THỨC NỀN TẢNG, KĨ THUẬT ...................................................8
2.1. Thư viện Reactjs – Ant Design Pro và React Native .......................................8
2.1.1. ReactJS .......................................................................................................8
2.1.2. Ant Design ..................................................................................................9
2.1.3. Ant Design Pro ...........................................................................................9
2.1.4. React Native .............................................................................................10
2.1.5. Lý do lựa chọn Reactjs .............................................................................11
2.1.6. Lý do lựa chọn Ant Design Pro ................................................................11
2.1.7. Lý do lựa chọn React Native ....................................................................11
2.2. Django .............................................................................................................12
2.2.1. Tổng quan về Django ...............................................................................12
2.2.2. Lý do chọn Django ...................................................................................13
2.3. Django Rest Framework .................................................................................13
2.3.1. Giới thiệu Django Rest Framework .........................................................13
2.3.2. Lý do chọn Django Rest Framework .......................................................14


2.4. Hệ quản trị cơ sở dữ liệu MySQL ..................................................................14
2.4.1. Giới thiệu về MySQL ...............................................................................14
2.4.2. Lý do lựa chọn ..........................................................................................14
2.5. Microsoft Cognitive Services .........................................................................15

2.5.1. Giới thiệu Microsoft Cognitive Services..................................................15
2.5.2. Giới thiệu Face API ..................................................................................16
2.5.3. Lý do chọn Face API ................................................................................16
2.6. Google Cloud Platform ...................................................................................16
2.6.1. Google Maps Platform .............................................................................16
2.6.2. Google Places Autocomplete ...................................................................17
2.6.3. Firebase ....................................................................................................18
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ...................................................19
3.1. Xây dựng kiến trúc hệ thống...........................................................................19
3.1.1. Xác định yêu cầu hệ thống .......................................................................19
3.1.2. Phân tích yêu cầu hệ thống .......................................................................22
3.2. Phân tích thiết kế hệ thống..............................................................................29
3.2.1. Sơ đồ Use case..........................................................................................30
3.2.2. Sơ đồ lớp ..................................................................................................44
3.3. Thiết kế giao diện ...........................................................................................69
3.3.1. Giao diện ứng dụng web ..........................................................................69
3.3.2. Giao diện ứng dụng di động ...................................................................112
Chương 4: KẾT LUẬN, ĐÁNH GIÁ, HƯỚNG PHÁT TRIỂN ............................120
4.1. Những điều đã đạt được ................................................................................120
4.2. Những thuận lợi và khó khăn .......................................................................120
4.3. Kết luận .........................................................................................................121
4.4. Hướng phát triển ...........................................................................................121


DANH MỤC HÌNH VẼ
Hình 2.1: Cấu trúc cây DOM ...................................................................................8
Hình 2.2: Logo Google Maps Platform .................................................................16
Hình 2.3: Minh hoạ Google Places Autocomplete ................................................17
Hình 2.4: Logo Firebase Realtime Database .........................................................18
Hình 3.1: Sơ đồ use case tổng quát của Quản lý ...................................................30

Hình 3.2: Sơ đồ use case quản lý cơ cấu tổ chức ..................................................30
Hình 3.3: Sơ đồ use case quản lý nhân viên ..........................................................31
Hình 3.4: Sơ đồ use case quản lý cơng việc ..........................................................32
Hình 3.5: Sơ đồ use case quản lý chấm cơng ........................................................33
Hình 3.6: Sơ đồ use case quản lý nghỉ phép ..........................................................34
Hình 3.7: Sơ đồ use case quản lý lương ................................................................35
Hình 3.8: Sơ đồ use case của nhân viên ................................................................38
Hình 3.9: Giao diện đăng nhập ..............................................................................69
Hình 3.10: Giao diện thay đổi ngơn ngữ ...............................................................70
Hình 3.11: Giao diện bảng điều khiển ...................................................................71
Hình 3.12: Giao diện thơng tin tổng quan nhân viên.............................................72
Hình 3.13: Giao diện thơng tin cơng việc nhân viên .............................................73
Hình 3.14: Giao diện thơng tin lương nhân viên ...................................................74
Hình 3.15: Giao diện chi tiết phiếu lương nhân viên ............................................75
Hình 3.16: Giao diện danh sách người phụ thuộc .................................................75
Hình 3.17: Giao diện tin nhắn................................................................................76
Hình 3.18: Giao diện danh sách phịng ban (cơ cấu tổ chức) ................................77
Hình 3.19: Giao diện thêm mới phịng ban ...........................................................78
Hình 3.20: Giao diện danh sách địa điểm ..............................................................79
Hình 3.21: Giao diện thêm mới địa điểm ..............................................................79
Hình 3.22: Giao diện danh sách chức vụ ...............................................................80
Hình 3.23: Giao diện thêm mới chức vụ ...............................................................80
Hình 3.24: Giao diện danh sách trạng thái làm việc ..............................................81
Hình 3.25: Giao diện thêm mới trạng thái làm việc ..............................................81


Hình 3.26: Giao diện danh sách lịch làm việc .......................................................82
Hình 3.27: Giao diện thêm mới lịch làm việc .......................................................83
Hình 3.28: Giao diện danh sách lý do nghỉ việc ...................................................84
Hình 3.29: Giao diện thêm mới lý do nghỉ việc ....................................................85

Hình 3.30: Giao diện danh sách chế độ thuế ........................................................85
Hình 3.31: Giao diện thêm mới chế độ thuế ..........................................................86
Hình 3.32 Giao diện danh sách chế độ bảo hiểm ..................................................86
Hình 3.33: Giao diện thêm mới chế độ bảo hiểm ..................................................87
Hình 3.34: Giao diện quản lý phân quyền .............................................................88
Hình 3.35: Giao diện thêm mới phân quyền..........................................................89
Hình 3.36: Giao diện tuỳ chỉnh cài đặt hệ thống ...................................................90
Hình 3.37: Giao diện danh sách nhân viên ............................................................90
Hình 3.38: Giao diện thêm mới nhân viên ............................................................91
Hình 3.39: Giao diện chi tiết nhân viên .................................................................92
Hình 3.40: Giao diện form thơi việc ......................................................................93
Hình 3.41: Màn hình chi tiết nhân viên khi đã bị thơi việc ...................................94
Hình 3.42: Giao diện danh sách nghỉ phép của tơi ................................................94
Hình 3.43: Giao diện tạo yêu cầu nghỉ phép .........................................................95
Hình 3.44: Giao diện danh sách nghỉ phép của nhân viên ....................................96
Hình 3.45: Giao diện danh sách ngày lễ ................................................................96
Hình 3.46: Giao diện thêm mới ngày lễ.................................................................97
Hình 3.47: Giao diện danh sách loại nghỉ phép .....................................................98
Hình 3.48: Giao diện thêm mới loại nghỉ phép .....................................................99
Hình 3.49: Giao diện danh sách chấm cơng của tơi ............................................100
Hình 3.50: Giao diện thực hiện chấm cơng .........................................................101
Hình 3.51: Giao diện danh sách chấm cơng của nhân viên .................................102
Hình 3.52: Giao diện chấm cơng của một nhân viên...........................................103
Hình 3.53: Giao diện form sửa số giờ làm thực tế ..............................................104
Hình 3.54: Giao diện form sửa số giờ làm OT ....................................................104
Hình 3.55: Giao diện danh sách văn phịng làm việc ..........................................105
Hình 3.56: Giao diện chi tiết văn phòng làm việc ...............................................105


Hình 3.57: Giao diện danh sách mẫu lương ........................................................106

Hình 3.58: Giao diện chi tiết mẫu lương .............................................................107
Hình 3.59: Giao diện danh sách bảng lương .......................................................108
Hình 3.60: Giao diện tạo mới bảng lương ...........................................................109
Hình 3.61: Giao diện chi tiết bảng lương ............................................................110
Hình 3.62: Giao diện phiếu lương được gửi qua email nhân viên ......................111
Hình 3.63: Giao diện đăng nhập Mobile .............................................................112
Hình 3.64: Giao diện chấm cơng Mobile.............................................................113
Hình 3.65: Giao diện chấm cơng thường Mobile ................................................115
Hình 3.66: Giao diện chấm cơng thường Mobile ................................................116
Hình 3.67: Giao diện danh sách nghỉ phép Mobile .............................................117
Hình 3.68: Giao diện chấm cơng thường Mobile ................................................119


DANH MỤC BẢNG
Bảng 3-1.Bảng danh sách các actor

38

Bảng 3-2. Danh sách các use cases

43

Bảng 3-3. Bảng cơ sở dữ liệu tổng quát

50

Bảng 3-4. Bảng User

51


Bảng 3-5. Bảng Employee

52

Bảng 3-6.Bảng EmergencyContact

52

Bảng 3-7. Bảng ContactInfo

53

Bảng 3-8. Bảng Dependent

54

Bảng 3-9. Bảng Country

54

Bảng 3-10. Bảng Department

54

Bảng 3-11. Bảng Location

55

Bảng 3-12. Bảng EmploymentStatus


56

Bảng 3-13.Bảng JobTitle

56

Bảng 3-14.Bảng TerminationReason

56

Bảng 3-15.Bảng Job

57

Bảng 3-16.Bảng Termination

58

Bảng 3-17.Bảng EmployeeSchedule

58

Bảng 3-18.Bảng Schedule

58

Bảng 3-19.Bảng Workday

59


Bảng 3-20.Bảng Period

59

Bảng 3-21.Bảng Attendance

60

Bảng 3-22.Bảng Tracking

62

Bảng 3-23. Bảng TimeOff

63

Bảng 3-24.Bảng TimeOffType

63

Bảng 3-25.Bảng Holiday

63

Bảng 3-26.Bảng SalaryTemplate

64

Bảng 3-27.Bảng SalaryTemplateField


64

Bảng 3-28.Bảng EmployeeSalary

65


Bảng 3-29.Bảng InsurancePolicy

65

Bảng 3-30. Bảng TaxPolicy

66

Bảng 3-31.Bảng SalarySystemField

66

Bảng 3-32. Bảng Payroll

67

Bảng 3-33. Bảng Payslip

67

Bảng 3-34.Bảng PayslipValue

68



TĨM TẮT KHĨA LUẬN
Khóa luận với đề tài “XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ”
nhằm mục đích cung cấp giải pháp cho vấn đề quản lí nhân sự ở các cơng ty. Yếu tố
con người chính là yếu tố quan trọng nhất trong thành bại của một công ty vì vậy vấn
đề nhân sự đây cũng chính là những vấn đề hàng đầu nhận được sự quan tâm của mọi
doanh nghiệp. Việc ứng dụng công nghệ thông tin vào các nhu cầu nghiệp vụ không
chỉ giúp giảm thiểu tài chính cho doanh nghiệp mà cịn tăng tính hiệu quả cho nghiệp
vụ được quản lí. Vì vậy chúng em đã chọn và giải quyết những vấn đề trên để tạo ra
những sản phẩm giúp ích cho con người cho xã hội.
Hệ thống được xây dựng và phát triển trên nền tảng Web-app và Mobile-app,
được ứng dụng các công nghệ phát triển phần mềm hiện đại như Reactjs, React
Native, Django,… nhằm bắt kịp xu hướng công nghệ đồng thời tạo nên những sản
phẩm tiên tiến. Hệ thống bao gồm 2 thành phần chính: Phần trên nền tảng Web
application dùng để phục vụ cho việc quản lí nhân sự và cũng dành cho cả nhân viên,
còn phần Mobile application chỉ dùng để nhân viên kiểm tra, theo dõi nắm bắt những
thông tin cá nhân của mình cũng như thực hiện một vài thao tác cơ bản liên quan đến
nghĩa vụ và quyền lợi của mình trong doanh nghiệp.
Khóa luận được nhóm chúng em phân tích nghiệp vụ chặt chẽ, được chọn lựa
cơng nghệ phát triển kỹ càng để nhầm tạo ra ứng dụng gần gũi với doanh nghiệp cũng
như tạo sự đơn giản, thoải mái cho người dùng nhưng vẫn đảm bảo được thẩm mỹ và
hiệu năng cần thiết.

1


Chương 1: TỔNG QUAN ĐỀ TÀI
1.1. Lý do lựa chọn đề tài
Doanh nghiệp giữ vai trò đặt biệt quan trọng trong nền kinh tế của đất nước

cho dù đang phát triển hay đã phát triển. Xã hội, kinh tế ngày càng phát triển kéo theo
nhiều doanh nghiệp được đăng kí mới tham gia vào cuộc đua phát triển đất nước. Từ
đó ta có thể thấy các vấn đề liên quan đến doanh nghiệp phải được dành sự quan tâm
và chú trọng to lớn. Đó là lý do nhóm em hướng đến đối tượng là doanh nghiệp để
cố gắng góp một phần công sức nhỏ vào việc xây dựng nước nhà. Tuy nhiên vấn đề
về doanh nghiệp tương đối lớn do đó chúng em đã quan sát kỹ càng, nghiên cứu và
lọc ra vấn đề thật sự cần được giải quyết sớm nhất đó chính là quản trị doanh nghiệp.
Trong đó lại chia thêm nhiều yếu tố nhưng khơng khó để chọn ra yếu tố cần thiết
nhất, đó chính là yếu tố con người mà chi tiết hơn chính là việc “quản lí nhân sự”.
Vì sao yếu tố con người lại quan trọng? Khơng khó để giải thích cho câu hỏi
này. Nhớ tới lời dạy của Bác Hồ, muốn xây dựng chủ nghĩa xã hội, trước hết, cần có
những con người xã hội chủ nghĩa, cịn đối với mục tiêu cơng nghiệp hóa, hiện đại
hóa, chúng ta dứt khốt phải có những con người mới với tác phong cơng nghiệp, trí
tuệ và hiện đại. Con người chính là yếu tố cốt lõi, nền tảng ở mọi doanh nghiệp, sự
tài năng, đoàn kết trong tập thể chính là chìa khóa dẫn doanh nghiệp đến với thành
cơng. Do đó việc “quản lí nhân sự” thật sự cần thiết.
Tuy nhiên vẫn cần làm rõ thêm việc quản lí nhân sự để làm gì và có tác dụng
ra sao. Cuộc sống chúng ta hằng ngày phải đối mặt với nhiều công việc, các công
việc luôn chồng chất lên nhau chờ chúng ta giải quyết, nếu chúng ta giải quyết theo
qn tính thì cơng việc vẫn được hồn thành nhưng chắc chắn ta sẽ ln bận rộn thâm
chí trễ thời gian hồn thành so với dự định. Để giải quyết vấn đề trên ta cần lập kế
hoạch, quản lí thời gian, quản lí cơng việc thì chắc chắn mọi việc sẽ suôn sẻ theo ý
muốn của mình. Quản lí nhân sự cũng vậy nhằm cung cấp giải pháp để tối ưu khả
năng làm việc của nhân viên đồng thời cũng giúp chăm sóc nhân viên – yếu tố thành
công quan trọng bậc nhất của doanh nghiệp.
2


Qua những trải nghiệm ở các doanh nghiệp, chúng em thấy ra được nhiều hạn
chế ở nhiều doanh nghiệp hiện nay. Điều đầu tiên đó chính là quản lí nhân sự chưa

được chú trọng. Tiếp đến là nghiệp vụ rườm rà, sử dụng nhiều cơng cụ quản lí lỗi
thời. Do đó chúng em đã quyết định nghiên cứu tạo ra một hệ thống hiện đại, chuẩn
xác góp phần giúp doanh nghiệp quản lí nhân sự tốt hơn.
1.2. Tìm hiểu các hệ thống liên quan
1.2.1. Base.vn
Base.vn là một trong những nền tảng quản trị doanh nghiệp phổ biến và lớn
nhất tại Việt Nam, được dùng bởi hơn 5,000 doanh nghiệp thuộc nhiều lĩnh vực khác
nhau. Hầu hết các doanh nghiệp dẫn đầu thị trường và các công ty tăng trưởng nhanh
đang dùng một trong số các sản phẩm của Base (Vin Group, ACB bank, Sacombank,
Decathlon)
Ưu điểm:
- Ứng dụng quản lý thông minh và đa dạng, đáp ứng được nhu cầu cho cả các
doanh nghiệp cỡ lớn với đa dạng nghiệp vụ (chấm cơng, tính lương, quản lý nhân
viên,…).
- Đa nền tảng, tất cả các ứng dụng trên Base có thể sử dụng dễ dàng trên trình
duyệt, smartphone (iOS, Android), máy tính bảng, hoặc cài đặt trên máy tính để bàn.
- Tất cả các ứng dụng chính đều hỗ trợ đa ngơn ngữ (Tiếng Việt, tiếng Anh)
và luôn liên tục nâng cấp.
Nhược điểm:
- Ứng dụng trả phí theo tháng.
- Do sử dụng mơ hình SaaS nên có đủ nhược điểm của mơ hình như:
• Tính bảo mật hệ thống: Do dữ liệu được đặt bên server nhà cung cấp nên
rất có thể bị rị rỉ.
• u cầu bắt buộc về kết nối internet.
3


1.2.2. OrangeHRM
Năm 2005 OrangeHRM được khởi xướng với hai phiên bản được phát hành,
bản miễn phí và bản mở rộng có trả phí. Vào năm 2009, OrangeHRM được xếp hạng

là ứng dụng tốt thứ năm trong hạng mục các dự án doanh nghiệp trên SourceForge.
Tính đến tháng 12 năm 2020, OrangeHRM đã đạt hơn 1,2 triệu lượt tải xuống (theo
Wikipedia).
Ưu điểm:
- Chi phí thấp, thời gian triển khai ngắn. Có phiên bản open source dùng miễn
phí hoặc trả phí thì chi phí cho phần mềm cũng thấp.
- Chạy trên máy chủ của chính cơng ty quản lí nên khơng lo về việc lộ thông
tin cho bên thứ 3, giúp doanh nghiệp dễ dàng an tâm hơn về dữ liệu của mình.
Nhược điểm:
- Việc chuyển ngữ Tiếng Việt bị thiếu chính xác do đó chỉ có thể dùng Tiếng
Anh.
- Giao diện khá lạc hậu, lỗi thời.
- Nghiệp vụ chưa được tối ưu, còn rất nhiều hạn chế so với các ứng dụng khác
trên thị trường, chẳng hạn như Base.vn.
1.2.3. Tổng kết
Sau khi tìm hiểu và sử dụng các hệ thống đang có trên thị trường, chủ động so
sánh giữa hệ thống áp dụng công nghệ mới như Base.vn hay hệ thống cũ được nhiều
người tin dùng như OrangeHRM chúng em đã thấy được các mặt hạn chế đối lập
nhau. Việc áp dụng được những ưu điểm của hai hệ thống trên và khắc phục những
nhược điểm tồn tại vào đề tài của nhóm thì sẽ tạo ra sản phẩm vượt trội.
1.3. Điểm mới, nổi bật
Sau khi tìm hiểu, nghiên cứu các ứng dụng và hệ thống liên quan, đúc kết ra
được ưu điểm nhược điểm của từng ứng dụng. Nhóm em xin đề xuất triển khai những

4


tính năng có tính nổi bật được tham khảo từ những ứng dụng lớn trên vào đề tài của
chúng em như sau.
1.3.1. Chấm công

Chấm công bằng nhận diện khuôn mặt: Chấm công bằng nhận diện khuôn
mặt là một phương pháp nhằm nâng cao tính trung thực khi chấm cơng của nhân viên,
trên nền tảng nhận diện có rõ mặt nhân viên sẽ hạn chế việc nhân viên chấm công hộ.
Đồng thời một việc thường gặp khi sử dụng máy chấm công (bằng vân tay, khuôn
mặt) truyền thống là xếp hàng chờ chấm công tại cửa cơ quan. Khi nhân sự quá đông
và tập trung chấm công vào cùng một thời điểm có thể sẽ là một vấn đề khó chịu.
Nhóm chúng em xin được phép triển khai giải pháp chấm công bằng nhận diện khuôn
mặt ngay trên ứng dụng di động và ứng dụng web, nền tảng mà bất kì nhân viên nào
cũng có thể có được, nhằm giảm tải khả năng xử lý cho máy chấm công, đồng thời
giúp tiết kiệm chi phí mua máy chấm cơng cho cơng ty và doanh nghiệp. Với phần
mềm chấm công di động và web, người nhân viên sẽ làm chủ hoạt động chấm cơng
của mình mà khơng bị lệ thuộc vào bất kỳ yếu tố khách quan nào khác.
Chấm công bằng định vị: Chấm công bằng nhận diện khuôn mặt hay chấm
công bằng vân tay đều là những giải pháp tuyệt vời, áp dụng công nghệ tiên tiến. Tuy
nhiên việc chấm công bằng vân tay và nhận diện khn mặt vẫn cịn nhiều góc khuất
của nó, chẳng hạn vân tay bị mồ hơi thì máy sẽ khơng nhận ra. Độ chính xác của
chấm cơng bằng nhận diện khn mặt cũng có thể làm nhiều doanh nghiệp chưa đủ
tin tưởng. Song, một giải pháp khác đi kèm trong nghiệp vụ chấm công này đó là
chấm cơng bằng định vị. Người quản lý có thể biết rõ được địa điểm định vị mà người
nhân viên thực hiện chấm cơng, từ đó theo dõi sát sao chặt chẽ hơn được hoạt động
của người nhân viên, đảm bảo sự trung thực và sự linh hoạt, tin cậy cần thiết.
1.3.2. Tính lương
Xây dựng bảng lương và tính lương là một trong những nghiệp vụ quan trọng
trong đề tài “Quản lý nhân sự và doanh nghiệp”. Nếu trải nghiệm tính lương và xây

5


dựng bảng lương đó khơng đáng tin cậy, thường xun sai sót hoặc mất q nhiều
thời gian thì có thể sẽ dễ dẫn đến nảy sinh nhiều vấn đề rắc rối.

Một vấn đề về tính lương đối với các ứng dụng đó là mỗi doanh nghiệp lại có
một cách tính lương riêng biệt, khó lịng có một bảng lương đáp ứng được mọi doanh
nghiệp trên thị trường. Nếu sử dụng Excel hay Google Sheet thì có thể chủ động được
cơng thức tính lương tuy nhiên lại khó khăn trong việc lưu trữ, liên kết dữ liệu, thiếu
tính tiện dụng.
Nhóm chúng em xây dựng tính năng chấm cơng cho phép người quản lý có
thể tạo ra bảng lương với các trường theo u cầu, có thể sử dụng cơng thức tính toán
với cú pháp là các hàm Excel quen thuộc giúp cho người dùng có thể tạo ra phiếu
lương như ý muốn, tính lương chính xác, đơn giản, thuận tiện.
1.4. Phương pháp thực hiện
Làm việc nhóm với 2 thành viên, nhóm quản lý code trên Gitlab và theo dõi
tiến độ công việc trên Notion, phân chia công việc hợp lý với năng lực và kinh nghiệm
của từng người, theo sát tiến độ như đã được lập kế hoạch chi tiết từ trước. Các vấn
đề liên quan đến khoá luận đều được trao đổi trực tiếp giữa các thành viên và tham
khảo ý kiến đánh giá và sự tư vấn từ thầy hướng dẫn.
Các công nghệ được sử dụng:
- Front-end: Sử dụng thư viện Single Page Application ReactJS và Ant
Design Pro, ứng dụng cung cấp khả năng xây dựng các thành phần UI có tính tương
tác cao, tính tái sử dụng tốt và hỗ trợ tốt việc truyền dữ liệu giữa các thành phần UI.
- Back-end: Ứng dụng xây dựng bằng Django giúp tăng tốc độ phát triển ứng
dụng, dễ dàng tùy chỉnh, mở rộng, đảm bảo khả năng bảo mật.
- Hệ quản trị cơ sở dữ liệu: nhóm sử dụng MySQL là một hệ quản trị cơ sở
dữ liệu phổ biến, mã nguồn mở, dễ dàng ràng buộc dữ liệu với ngôn ngữ SQL.

6


1.5. Bố cục báo cáo
Báo cáo gồm có 4 chương:
Chương 1: TỔNG QUAN ĐỀ TÀI: Trình bày về lý do lựa chọn đề tài, đối

tượng, phạm vi tiếp cận đề tài, đưa ra các điểm nổi bật so với các ứng dụng trước, đề
xuất các giải pháp để giải quyết các vấn đề đã đặt ra.
Chương 2: KIẾN THỨC, KĨ THUẬT: Trình bày các kiến thức, cơng nghệ, kĩ
thuật và cách hoạt động của kiến trúc phần mềm được sử dụng để xây dựng hệ thống.
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Trình bày chi tiết quy trình
xây dựng hệ thống, từ xác định và phân tích yêu cầu bài toán cho đến xây dựng CSDL,
cuối cùng là xây dựng giao diện cho trang web
Chương 4: KẾT LUẬN, ĐÁNH GIÁ, HƯỚNG PHÁT TRIỂN: Rút ra được
các ưu nhược điểm của ứng dụng và đưa ra hướng phát triển trong tương lai.
.

7


Chương 2: KIẾN THỨC NỀN TẢNG, KĨ THUẬT
2.1. Thư viện Reactjs – Ant Design Pro và React Native
2.1.1. ReactJS
Reactjs là một thư viện Javascript được tạo ra bởi Jordan Walke, 1 kỹ sư phần
mềm của Facebook, gần như thay thế hoàn toàn AngularJs, một framework khác của
Javascript mà trước đây Facebook sử dụng cho việc xây dựng giao diện.
Các thành phần của React:
- DOM ảo (viết tắt của Document Object Model) là mơ hình các đối tượng

trong tài liệu html. Các trình duyệt nhìn thấy mỗi trang web như kiểu cấu trúc DOM
tree

như

hình


dưới

đây:

Hình 2.1: Cấu trúc cây DOM

- Như hình ví dụ ở trên, node cha đầu tiên sẽ là thẻ document, tiếp theo là các
thẻ con như <html>, <head>, <body>,... Vậy khi có 1 sự kiện yêu cầu tác động đến
một thành phần trong trang web, trang web sẽ chạy lại từ đầu, bao gồm cả những
phần khơng có thay đổi trước đó. Điều này khiến hiệu năng của web giảm, đôi khi
chạy chậm và thiếu sự mượt mà.
ReactJS sẽ sử dụng một DOM ảo, là một Object Javascript chứa đầy đủ thông
tin của trang web giống như DOM thật, khi có sự tác động đến 1 thành phần của trang
8


web thì ReactJS sẽ so sánh DOM ảo với DOM thật để biết được node nào sẽ thay đổi
và tạo ra 1 ‘bản vá’ nhằm thay đổi dữ liệu ở node đó trên DOM thật.
- Props và State
▪ Props: là thuộc tính read-only, giúp cho component cha có thể truyền
dữ liệu xuống cho component con. Về mặt khái niệm, component của
React giống như các function; nó nhận vào các tham số (ở đây là props)
và sẽ trả về các phần tử React (JSX) mơ tả những gì sẽ được hiển thị
lên trang web.
▪ State: khác với props, state là đặc trưng của component và lưu trữ trạng
thái của component, trong khi các props là các giá trị bên ngoài được
truyền vào component đó.
2.1.2. Ant Design
Ant là tập hợp các components của React được xây dựng theo chuẩn thiết kế
của Ant UED Team. Tương tự như chuẩn Material Design, Ant cung cấp hầu hết các

component thông dụng trong ứng dụng web hiện đại, như Layout, Button, Icon,
DatePicket, v.v…Bên cạnh đó Ant cũng có những component thú vị như
LocaleProvider cho phép thay đổi ngơn ngữ trên tồn ứng dụng, là điều kiện để nhóm
chúng em triển khai tính năng Internalization của đề tài.
Có thể coi Ant Design là tập hợp của hầu hết các thư viện về React. Nó đáp
ứng được hầu hết các yêu cầu của project mà ban không phải cài thêm nhiều thư viện
nữa giống với việc triển khai một ứng dụng Reactjs thông thường.
2.1.3. Ant Design Pro
Ant Design Pro là một giải pháp toàn diện cho triển khai ứng dụng, là một thư
viện được xây dựng trên nền một thư viện (ở đây là Ant Design). Thư viện này giới
thiệu các component cấp cao hơn so với các component vốn có của Ant Design.
Ant Design Pro hỗ trợ out-of-the-box routing, quản lý state, mock API, service
API cho việc phát triển một ứng dụng được thực hiện nhanh nhất.

9


Ưu điểm:
- Hỗ trợ nhiều thứ, giúp tăng tốc độ phát triển phần mềm lên nhanh nhất
- Các component dựa trên design của Ant Design khá đẹp đẽ và hiện đại
- Dễ custom theo ý muốn cá nhân
Nhược điểm:
- Tài liệu tham khảo và các issue gặp phải hầu hết được viết bằng tiếng Trung
nhiều hơn là tiếng Anh
- Vì là một giải pháp toàn diện nên Ant Design Pro mang theo khá nhiều thứ
mà có thể khơng cần tới như testing, mocking,… dẫn đến một project khá nặng. Thời
gian bootstrap project lâu hơn nhiều lần so với chỉ sử dụng create-react-app
2.1.4. React Native
React Native là một framework được tạo bởi Facebook, cho phép các lập trình
viên sử dụng JavaScript để làm mobile apps trên cả Android và iOS với trải nghiệm

và hiệu năng như native. React Native vượt trội ở chỗ chỉ cần viết một lần là có thể
build ứng dụng cho cả iOS lẫn Android.
Việc này giúp chúng ta có thể tiết kiệm được thời gian, cơng sức, tiền bạc.
Giúp tốc độ ra sản phẩm cũng như cập nhật ứng dụng nhanh chóng mặt.
Ưu điểm của React Native:
- Thời gian học ngắn, đặc biệt là cho các lập trình viên web vì React Native sử
dụng ngơn ngữ Javascript và React.
- Khả năng tái sử dụng code cao vì sử dụng thư viện React là một thư viện tái
sử dụng component.
- Viết 1 lần chạy cho cả 2 nền tảng iOS và Android
- Cộng đồng lớn, khả năng nhận hỗ trợ từ cộng đồng cao
Nhược điểm của React Native:
- Hiệu năng sẽ thấp hơn với ứng dụng thuần native code

10


×