TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA TP. HCM
BÁO CÁO MÔN HỌC ĐỒ ÁN 2
Đề tài:
XÂY DỰNG ỨNG DỤNG QUẢN LÝ DOANH NGHIỆP
Giảng viên hướng dẫn:
Thầy Huỳnh Nguyễn Khắc Huy
Nhóm sinh viên thực hiện:
Nguyễn Huỳnh Lợi
Đào Mạnh Dũng
TP. HCM ngày 12 tháng 1 năm 2021
Chương 1. Giới thiệu đề tài
3
1.1. Dẫn nhập
3
1.2. Tổng quan các vấn đề chính
3
1.2.1. Bài tốn
3
1.2.2. Giới hạn phạm vi
3
1.2.3. Kết quả hướng tới
3
Chương 2. Các kiến thức công nghệ, nền tảng
4
2.1. Dotnet Core
4
2.2. Entity Framework Core
4
2.3. Reactjs
5
Chương 3. Xây dựng ứng dụng
3.1. Usecase
Quản lý tài khoản
3.2. Mô tả Usecase
Các Actor
Use Case
3.3. Thiết kế database
Sơ đồ ERD
Danh sách các bảng
Mô tả chi tiết các bảng
3.4. Mô tả giao diện
Chương 4: Thử nghiệm, đánh giá
6
6
6
12
12
12
20
20
21
22
28
33
4.1. Môi trường thử nghiệm
33
4.2. Kết quả thử nghiệm
33
4.3. Đánh giá kết quả sản phẩm
33
Chương 5: Kết luận và hướng phát triển
34
5.1. Kết quả đạt được
34
5.2. Hạn chế và hướng phát triển
34
5.2.1. Hạn chế
5.2.2. Hướng phát triển
34
34
Chương 1. Giới thiệu đề tài
1.1. Dẫn nhập
Xã hội ngày càng phát triển cùng với những tiến bộ khoa học kĩ thuật vượt
bậc. Do công nghệ ngày càng được ứng dụng mạnh mẽ nên các lĩnh vực phát triển
theo hướng tự động hóa giúp giảm sức nhân cơng, tăng hiệu suất làm việc. Trở về
thực tại, nhiều doanh nghiệp khi mở rộng quy mô kinh doanh, số lượng nhân viên
tăng lên thì gặp khó khăn trong cơng tác quản lý nhân sự. Ứng dụng quản lý nhân
sự dưới đây ra đời nhằm mục đích giảm thiểu thời gian, cơng sức cho việc quản lý
nhân sự.
1.2. Tổng quan các vấn đề chính
1.2.1. Bài tốn
Xây dựng ứng dụng quản lý nhân sự trên nền web
1.2.2. Giới hạn phạm vi
Hệ thống được xây dựng đáp ứng được những yêu cầu dưới đây:
● Đăng nhập, xác thực người dùng
● Quản lý tài khoản người dùng và phân quyền
● Quản lý thông tin cá nhân của nhân viên
● Quản lý thơng tin vị trí cơng việc, lịch sử công việc, chức vụ...
● Chấm công thời gian làm việc, tính lương nhân viên
1.2.3. Kết quả hướng tới
Hướng tới việc xây dựng một hệ thống quản lý có ứng dụng client trên nền
web chạy ổn định, đáp ứng các yêu cầu quản lý cơ bản và có thể phát triển
sau này.
Chương 2. Các kiến thức công nghệ, nền tảng
2.1. Dotnet Core
ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho
cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows,
Linux và Mac. Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng
của MVC và Web API thành một web framework duy nhất.
Các ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên .NET
Framework hoàn chỉnh.
2.2. Entity Framework Core
Entity Framework Core là phiên bản mới của Entity Framework sau EF 6.x.
Nó là mã nguồn mở, nhẹ, có thể mở rộng và là phiên bản đa nền tảng của công
nghệ truy cập dữ liệu Entity Framework.
Entity Framework là một framework Object/Relational Mapping (O/RM ánh xạ quan hệ/đối tượng). Đây là một cải tiến của ADO.NET, cung cấp cho các
nhà phát triển một cơ chế tự động để truy cập và lưu trữ dữ liệu trong cơ sở dữ
liệu.
EF Core được dự định sẽ sử dụng với các ứng dụng .NET Core. Tuy nhiên,
nó cũng có thể được sử dụng với các ứng dụng dựa trên .NET Framework 4.5+
tiêu chuẩn.
2.3. Reactjs
React là một thư viện Javascript nhằm đơn giản hóa việc phát triển giao
diện trực quan được phát triển tại facebook và phát hành vào năm 2013, React
được sử dụng làm thư viện font-end chính của facebook và instagram từ khi nó ra
mắt. Hiện nay số lượng ứng dụng React đang tăng lên rất nhanh.
Mục tiêu chính của nó là làm cho chúng ta dễ dàng hình dung về một giao
diện và trạng thái của nó tại bất kỳ thời điểm nào, bằng cách chia UI thành một bộ
các “Component”.
React được sử dụng để xây dựng các ứng dụng single page application.
Chương 3. Xây dựng ứng dụng
3.1. Usecase
a) Quản lý tài khoản
b) Quản lý thông tin cá nhân
c) Quản lý cơ cấu tổ chức
d) Quản lý vị trí cơng việc
e) Chấm công
f) Tính lương
3.2. Mô tả Usecase
a) Các Actor
● Quản lý: Người quản lý nhân sự
● Nhân viên
b) Use Case
Usecase
Đăng nhập
Mô tả
Đăng nhập vào hệ thống
Main Flow
- Người dùng nhập tên đăng nhập và mật
khẩu
- Nhấn nút đăng nhập
- Hệ thống xác thực thông tin đăng nhập
- Nếu thông tin đăng nhập đúng thì cho
phép đăng nhập người dùng vào hệ thống
- Nếu thơng tin đăng nhập sai thì thơng
báo lỗi ra màn hình
Alternative Flow(s)
Nếu nhập thiếu thơng tin, thơng báo lỗi
Usecase
Tạo tài khoản
Mô tả
Tạo tạo tài khoản người dùng
Main Flow
- Quản lý nhập thông tin tài khoản
- Nhấn nút tạo tài khoản
- Hệ thống tạo tài khoản
Alternative Flow(s)
Usecase
Thay đổi Role Tài khoản
Mô tả
Main Flow
- Quản lý chọn tài khoản
- Đến trang chỉnh sửa role
- Chọn role mới
- Bấm đồng ý
Alternative Flow(s)
Usecase
Thay đổi mật khẩu
Mô tả
Thay đổi mật khẩu
Main Flow
Đến trang thay đổi mật khẩu
Nhập mật khẩu mới
Nhập lại mật khẩu mới
Bấm đồng ý
Alternative Flow(s)
Usecase
Chỉnh sửa thông tin cá nhân
Mô tả
Chỉnh sửa thông tin cá nhân
Main Flow
Đến trang thông tin cá nhân
Nhập thông tin mới
Bấm cập nhật
Alternative Flow(s)
Usecase
Cập nhật thông tin nhân viên
Mô tả
Cập nhật thông tin nhân viên
Main Flow
- Vào trang thông tin nhân viên
- Nhập thông tin mới
- Bấm cập nhật
Alternative Flow(s)
Usecase
Xem thông tin cá nhân
Mô tả
Xem thông tin cá nhân
Main Flow
Vào trang cá nhân
Xem thông tin
Alternative Flow(s)
Usecase
Tạo đơn vị
Mô tả
Tạo đơn vị trong cơ cấu tổ chức
Main Flow
- Bấm nút tạo mới ở đơn vị cha
- Điền thông tin
- Bấm đồng ý
Alternative Flow(s)
Usecase
Chỉnh sửa đơn vị
Mô tả
Chỉnh sửa thông tin đơn vị trong cơ cấu tổ
chức
Main Flow
Bấm chỉnh sửa đơn vị
Nhập thơng tin mới
Bấm cập nhật
Alternative Flow(s)
Usecase
Xóa đơn vị
Mơ tả
Xóa đơn vị
Main Flow
Chọn nút xóa cạnh đơn vị
Bấm nút xóa
Chọn xác nhận
Alternative Flow(s)
Usecase
Xem cơ cấu tổ chức
Mô tả
Xem cơ cấu tổ chức
Main Flow
Vào mục cơ cấu tổ chức
Usecase
Chỉnh sửa vị trí công việc
Mô tả
Chuyển công tác
Main Flow
Chọn nhân viên
Nhập thông tin vị tri mới
Bấm cập nhật
Alternative Flow(s)
Usecase
Quản lý chức vụ công việc
Mơ tả
Thêm, xóa, sửa chức vụ cơng việc
Main Flow
Chọn phần cài đặt
Chọn tab chức vụ công việc
Chọn chức năng cần dùng
Alternative Flow(s)
Usecase
Quản lý loại hình làm việc
Mơ tả
Thêm, xóa, sửa loại hình làm việc
Main Flow
Chọn phần cài đặt
Chọn tab chức vụ công việc
Chọn chức năng cần dùng
Alternative Flow(s)
Usecase
Xem lịch sử công việc
Mô tả
Xem lịch sử các vị trí cơng việc đã và
đang đảm nhận
Main Flow
Vào trang cá nhân
Chọn tab công việc
Hệ thống hiển thị lịch sử công việc
Alternative Flow(s)
Usecase
Tạo Chấm công
Mô tả
Tạo thông tin chấm công
Main Flow
Nhập ngày, số ngày công…
Bấm tạo
Alternative Flow(s)
Usecase
Phê duyệt chấm công
Mô tả
Phê duyệt thông tin chấm công
Main Flow
Quản lý chọn thông tin chấm công
Bấm nút phê duyệt
Alternative Flow(s)
Usecase
Tạo yêu cầu nghỉ phép
Mô tả
Tạo yêu cầu nghỉ phép
Main Flow
Bấm tạo yêu cầu nghỉ phép
Điền thông tin nghỉ phép
Chọn loại nghỉ phép
Bấm nút đồng ý
Alternative Flow(s)
Usecase
Phê duyệt nghỉ phép
Mô tả
Phê duyệt nghỉ phép
Main Flow
Quản lý chọn yêu cầu nghỉ phép
Bấm nút phê duyệt
Alternative Flow(s)
Usecase
Quản lý ngày nghỉ lễ
Mơ tả
Tạo, xóa, sửa ngày nghỉ lễ hưởng nguyên
lương
Main Flow
Đi đến phần cài đặt
Chọn tab nghỉ lễ
Chọn chức năng tương ứng
Alternative Flow(s)
Usecase
Quản lý loại nghỉ phép
Mô tả
Quản lý loại nghỉ phép
Main Flow
Đi đến phần cài đặt
Chọn tab nghỉ phép
Chọn chức năng tương ứng
Alternative Flow(s)
Usecase
Tạo bảng lương
Mô tả
Quản lý tạo bảng tính lương
Main Flow
Bấm tạo bảng lương
Nhập thời gian tính lương
Bấm đồng ý
Hệ thống tính tốn, tạo bảng lương
Usecase
Chốt bảng lương
Mơ tả
Quản lý chốt bảng lương đã có
Main Flow
Chọn bảng lương
Bấm chốt bảng lương
Alternative Flow(s)
Usecase
Xem phiếu lương
Mô tả
Xem thông tin tiền lương
Main Flow
Vào trang xem phiếu lương
Alternative Flow(s)
3.3. Thiết kế database
a) Sơ đồ ERD
b) Danh sách các bảng
STT
Tên bảng
Ý nghĩa
1
User
Thông tin của tài khoản quản lý
2
Employee
Thông tin cơ bản của nhân viên
3
Position
Thông tin vị trí cơng việc hiện tại
4
JobTitle
Thơng tin chức vụ cơng việc
5
JobCategory
Thông tin danh mục chức vụ công việc
6
WorkType
Thông tin loại hình làm việc (full-time, part-time)
7
OrganizationUnit
Thơng tin cơ cấu tổ chức phịng ban, đội nhóm
8
WorkingLog
Thơng tin thời gian làm việc, nghỉ phép của nhân
viên
9
TimeOffType
Thơng tin loại nghỉ phép (có lương hay không
lương)
10
Holiday
Thông tin ngày nghỉ lễ tết
11
Payroll
Bảng lương
12
Payslip
Phiếu lương nhân viên
c) Mô tả chi tiết các bảng
● Bảng User
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
int(11)
Mã tài khoản
2
UserName
varchar(255)
Tên tài khoản
3
password
varchar(255)
Mật khẩu tài khoản
● Bảng Employee
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã nhân viên
2
FirstName
varchar(255)
Họ
3
Lastname
varchar(255)
Tên
4
WorkEmail
varchar(255)
Địa chỉ email cơng việc
5
Phone
varchar(20)
Số điện thoại
6
DateOfBirth
date
Ngày sinh
7
Sex
varchar(50)
Giới tính
8
Address
varchar(1000)
Địa chỉ thường trú
9
CurrentAddress
varchar(1000)
Địa chi hiện tại
10
NationalId
int
Mã quốc gia
11
UserId
int
Mã tài khoản
12
RecordStatus
int
Trạng thái bản ghi
● Bảng Position
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã vị trí công việc
2
StartDate
date
Ngày bắt đầu làm việc
3
EndDate
int(11)
Số điện thoại khách hàng
4
Salary
varchar(255)
Địa chỉ khách hàng
5
LeaveDate
varchar(255)
email khách hàng
6
LeaveReason
datetime
Ngày tạo
7
LeaveTypeId
datetime
Ngày cập nhật gần đây
8
EmployeeId
int
Mã nhân viên
9
JobTitleId
int
Mã chức vụ cơng việc
10
WorkTypeId
int
Mã loại hình làm việc
11
UnitId
int
Mã đơn vị tổ chức
12
RecordStatus
int
Trạng thái bản ghi
● Bảng JobTitle
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã chức vụ công việc
2
Name
varchar(255)
Tên chức vụ công việc
3
Description
varchar(1000)
Mô tả
4
RecordStatus
int
Trạng thái bản ghi
5
JobCategoryId
int
Mã danh mục cơng việc
● Bảng JobCategory
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã danh mục công việc
2
Name
varchar(255)
Tên danh mục công việc
3
Description
varchar(1000)
Mô tả
4
RecordStatus
int
Trạng thái bản ghi
● Bảng WorkType
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã loại hình làm việc
2
Name
varchar(255)
Tên loại hình làm việc
3
Description
varchar(1000)
Mơ tả
4
RecordStatus
int
Trạng thái bản ghi
● Bảng OrganizationUnit
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
in(11)
Mã đơn vị tổ chức
2
Name
varchar(255)
Tên đơn vị tổ chức
3
Description
varchar(1000)
Mô tả
4
RecordStatus
int
Trạng thái bản ghi
5
ParentId
int
Mã đơn vị cha
● Bảng WorkingLog
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
id
int(11)
Mã
2
Type
int
Loại bản ghi (đi làm/ nghỉ phép)
3
Date
date
Ngày, tháng, năm
4
Duration
double
Thời gian nghỉ (giờ)
5
Note
varchar(1000)
Ghi chú
6
TimeOffTypeId
datetime
Mã loại nghỉ phép
7
EmployeeId
datetime
Mã nhân viên nghỉ phép
● Bảng TimeOffType
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
int
Mã
2
Name
varchar(255)
Tên loại nghỉ phép
3
IsPaidTimeOff
bit
Là loại nghỉ phép được hưởng lương
4
Description
varchar(1000)
Mô tả
● Bảng Holiday
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
int
Mã
2
Name
varchar(255)
Tên ngày nghỉ
3
From
date
Ngày bắt đầu
3
To
date
Ngày kết thúc
4
RecordStatus
int
Trạng thái bản ghi
● Bảng Payroll
STT
Tên thuộc tính
Kiểu dữ liệu
Ý nghĩa
1
Id
int
Mã
2
AuthorId
int
Mã nhân viên tạo bảng lương