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

Báo cáo thực tập hệ thống quản lý phiếu lương PAYSLIP

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 (2.27 MB, 81 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP:
HỆ THỐNG QUẢN LÝ PHIẾU LƯƠNG PAYSLIP

Công ty thực tập: Wata Solutions
Người phụ trách: Phạm Hoàng Nam
Thực tập sinh: Nguyễn Trọng Khanh – mssv: 17520627

Tp.Hồ Chí Minh, tháng 1 năm 2021


LỜI MỞ ĐẦU
Trong thời đại 4.0, số lượng người sử dụng internet ngày càng tăng. Do nhu cầu
người dùng ngày càng cao nên việc phát triển web có tốc độ phát triển vô cùng mạnh
mẽ. Web không những phụ vụ cho nhu cầu giải trí đơn thuần, mà đồng thời ta có thể
dùng nó như một mạng xã hội, sử dụng các website quản lý ở mọi lúc mọi nơi chỉ
cần có internet.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế,
cũng như muốn trở thành một lập trình viên web chuyên nghiệp, nên em quyết định
đi thực tập trong học kỳ này.
Vì vậy, em quyết định chọn Wata Solution - một môi trường lý tưởng, hiện đại,
chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

2


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Wata Solutions đã tạo điều kiện cho em có


cơ hội được thực tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer,
các mentor, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng
trong quy trình phát triễn phần mềm. Chân thành cảm ơn các anh chị trong nhóm
trainer đã bỏ ra nhiều thời gian, cơng sức để hướng dẫn chúng em hoàn thành đợt
thực tập này.
Đặc biệt cảm ơn anh POLO, đã training về quy trình phát triển phần mềm,
scrum, estimate task, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn
trong cơng việc, đến những khó khăn việc làm quen với mơi trường mới; cảm ơn anh
Nam, Đạt, đã training Spring Boot, hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật
Spring boot; cảm ơn chị Tuyền, đã chỉ dẫn chúng em về quy trình kiểm thử phần
mềm.
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ,
tạo điều kiện em làm bài báo cáo này.
Nguyễn Trọng Khanh

3


NHẬN XÉT CỦA KHOA
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................

........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................

4


Nội dung
Chương 1 Giới thiệu công ty thực tập .................................................................... 7
1.1

Giới thiệu công ty Wata Solutions ................................................................ 7

Chương 2 Nội dung thực tập ................................................................................... 8
2.1

Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty ................................ 8

2.2

Nghiên cứu quy trình phát triển phần mềm của cơng ty .............................. 8

2.2.1

Quy trình kiểm sốt chất lượng (QC) .....................................................................................8


2.2.2

Quy trình phát triển phần mềm Scrum ..................................................................................8

2.2.3

Estimation và lên kế hoạch.....................................................................................................8

2.2.4

Kỹ thuật vẽ UML .....................................................................................................................9

2.3

Nghiên cứu kỹ thuật ...................................................................................... 9

2.3.1

Deploy trang web lên Apache server .....................................................................................9

2.3.2

Tìm hiểu Docker và CI/CD .......................................................................................................9

2.3.3

Tìm hiểu công nghệ Spring boot ............................................................................................9

2.4


Thực hiện project .......................................................................................... 9

2.5

Lịch làm việc ................................................................................................ 9

Chương 3 Chi tiết về project ................................................................................. 20
3.1

Giới thiệu .................................................................................................... 20

3.1.1

Mục đích ...............................................................................................................................20

3.1.2

Phạm vi .................................................................................................................................20

3.1.3

Các định nghĩa, từ viết tắt ....................................................................................................20

3.2

Môi trường .................................................................................................. 21

3.2.1

Mobile application ...............................................................................................................21


3.2.2

Web portal............................................................................................................................21

3.2.3

Server ...................................................................................................................................21

3.3

Mô tả tổng thể ............................................................................................. 21

3.3.1

Ngữ cảnh sản phẩm..............................................................................................................21

3.3.2

Thiết kế dữ liệu.....................................................................................................................22

3.4

Các yêu cầu chức năng ............................................................................... 23

3.4.1

Mobile application ...............................................................................................................23

3.4.2


Web portal............................................................................................................................48

5


Chương 4 Tài liệu tham khảo ................................................................................ 80
Chương 5 Tổng kết ................................................................................................. 81

6


Chương 1 Giới thiệu công ty thực tập
1.1 Giới thiệu công ty Wata Solutions
Wata Solutions được thành lập năm 2015, là cơng ty phần mềm chun về mảng
outsource. Ngồi ra, công ty cũng phát triển các sản phẩm riêng của công ty (chiếm 5%
trong năm 2019). Thị trường khách hàng chủ yếu của công ty là Mỹ, Hàn Quốc, Singapore,..
Các mảng công nghệ của công ty sử dụng: Backend (NodeJs, .Net, Golang, Java,
Python,..), Frontend (AngularJs, ReactJs, VueJs,..), Android, Ios, Blockchain,..
Tầm nhìn: “Use technologies to change the Vietnamese citizens life”.
Nhiệm vụ: “Providing all the best lifestyle for Vietnamese citizens”.
Trụ sở chính: Tòa nhà Hải Âu, 39B Trường Sơn, phương 4, quận Tân Bình, tp Hồ Chí
Minh.
Website: watacorp.com , watasolutions.com
Liên hệ: +84 909.679.839

7


Chương 2 Nội dung thực tập

2.1 Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát triên
(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của cơng
ty .
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như
thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc…
Kết quả : Hiểu thêm về công ty Gameloft, q trình thành lập và phát triển. Có thêm
các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có
trách nhiệm hơn.

2.2 Nghiên cứu quy trình phát triển phần mềm của cơng ty
2.2.1 Quy trình kiểm sốt chất lượng (QC)
Thời gian: 2 ngày
Nội dung: Tìm hiểu về quy trình kiểm thử, tầm quan trọng của kiểm thử trong phát
triển phần mềm.
Thời điểm qc tham gia vào project
Tìm hiểu về test case
Công cụ theo dõi bug (Jira)
Kết quả: Hiểu về tầm quan trọng của việc kiểm thử trong phát triển phần mềm. Qc
nên tham gia vào việc kiểm thử ngày từ khi bắt đầu project. Biết cách sử dụng công cụ Jira.
Cách thiết kế testcase.
2.2.2 Quy trình phát triển phần mềm Scrum
Thời gian: 3 ngày
Nội dụng: Tìm hiểu về Agile, Scrum
Quy trình phát triển phần mềm
Kết quả: Hiểu thêm về Scrum
2.2.3 Estimation và lên kế hoạch
Thời gian: 3 ngày

Nội dung: Tìm hiểu về cách estimate một task, cách lên kế hoạch để phát triển phần
mềm
Định nghĩa và mục đích của việc estimate
Tầm quan trọng của việc estimate
Cách estimate
8


Cách sắp xếp timeline
Kết quả: Hiểu được cách estimate task, biết được tầm quan trọng của estimation. Thực
hiện estimatation cho dự án, sắp xếp các công việc trong dự án.
2.2.4 Kỹ thuật vẽ UML
Thời gian: 3 ngày
Nội dung:Tìm hiểu và thực hành UML
Kết quả: Hiểu rõ về UML, tầm quan trọng của UML trong phát triển phần mềm. Vẽ
các diagram cho project

2.3 Nghiên cứu kỹ thuật
2.3.1 Deploy trang web lên Apache server
Thời gian: 3 ngày
Nội dung: Tìm hiểu cách deploy một trang web lên server thật bằng apache server
Kết quả: Biết cách deploy trang web lên server thật
2.3.2 Tìm hiểu Docker và CI/CD
Thời gian:3 ngày
Nội dung: Tìm hiểu về docker, ci/cd
Kết quả: Hiểu được cách sử dụng docker, tự động ci/cd bằng Jenskin
2.3.3 Tìm hiểu cơng nghệ Spring boot
Thời gian: 3 ngày
Nội dung: Tìm hiểu cơng nghệ Spring boot
Kết quả: Hiểu về công nghệ Spring boot, khởi tạo Spring boot project


2.4 Thực hiện project
Sau 7 tuần được training, tìm hiểu và thực hành, thực tập sinh đã nắm được những
kiến thức về quy trình phát triển phần mềm, Scrum, Spring boot,..
Từ tuần thứ 8, thực tập sinh thực hiện một project Payslip.

2.5 Lịch làm việc
2.5.1 Tuần 1

Day

9

Plan of activities to
be performed

Brief
description of
activities
actually
performed

Tools,
machinery,
equipment &
methodology
used

No.
of

hours/day


- Learn technologies
to build web app and
mobile app.
- And learn the
advantages,
the
disadvantages of each
technology.

Mo
nday

Follow
exactly the
plan

8
hours

Follow
exactly the
plan

8
hours

0

hours

- Learn Jira software.
- Attending QA/QC,
Java training.

Follow
exactly the
plan

Jira software

S
S
F
un atu
drda riday
ay
y

Thu
rsday

Wedn
esday

Tuesday

- Learn the workflow
of company


8
hours
0
hours
0
hours
0
hours
24
hours

Total hours for the week

2.5.2 Tuần 2

Monday

Day

10

Plan of activities to
be performed
- Learn Waterfall
and Agile model.
- Research about
roles in project, some
methods use to estimate
time for a task.


Brief
description of
activities
actually
performed
Follow
exactly the
plain

Tools,
machinery,
equipment &
methodology
used

No.
of
hours/day

8
hours


Tuesd
ay

Follow
exactly the
plan


8
hour

0
hours
- Research about
UML, coding standard.
- Research how to
config apache server.

Follow
exactly the
plan

8
hours

F
riday

Thu
rsday

W
ednesda
y

- Research about
Scrum.

- Research how to
install apache and mysql
on linux.

0

atu
d rda
ay
y

0
hour

un

0
hour
24
hours

Total hours for the week

2.5.3 Tuần 3
Plan of activities to
be performed

Day

Monday


-

-

Tuesday

S

S

hour

-

11

Learn UML
diagram: component,
state, ER, activity
and sequence.
Draw login activity
diagram.
Deploy demo server.
Draw login sequence
diagram, activity
diagram (edit).
Research about when
do we estimate a
task, when do we

change the
estimation.

Brief
description of
activities
actually
performed

Tools,
machinery,
equipment &
methodology used

No.
of
hours/day

Follow
exactly the plain

Plantuml,
ubuntu LTS 18.04.

8
hours

Follow
exactly the plan


Plantuml

8
hours


W
ednesday

0
hour

Thursday

-

Follow
exactly the plan

Plantuml

F
riday

-

Draw
component
diagram to present
client-server model,

edit login sequence
diagram.
Estimate for login
feature.

8
hours

0

atu
d rda
ay
y

0
hour
0

un

S

S

hour

hour
24
hours


Total hours for the week

2.5.4 Tuần 4
Plan of activities to
be performed

Day

Monday

-

Tu
esday

-

-

Wedn
esday

-

12

Discuss
mobile
mockup with team

members.
Learn CI/CD.
Install
Docker,
Jenkins
Listed out the
features of Payslip
project.
Read SRS template.

Brief
description of
activities
actually
performed

Tools,
machinery,
equipment &
methodology used

No.
of
hours/day

Follow
exactly the plan

Ubuntu LTS
18.04


8
hours

Follow
exactly the plan

MS Word

8
hours

0
hour


Thur
sday

Write
SRS
Payslip project

for

Follow
exactly the plan

MS Word


8
hours

0
hour
0
hour
0
hour
24
hours

ay

un

S
S
F
atu
riday
drda
y

-

Total hours for the week

2.5.5 Tuần 5
Plan of activities to

be performed

No.
of
hours/day

-

Write SRS for
Payslip project.

Follow
exactly the plain

MS Word,
PlantUml

8
hours

-

Write SRS for
Payslip project.

Follow
exactly the plan

MS Word,
PlantUml


8
hours
0
hour

-

Write timeline.
Plan on sprint 0,
sprint 1.

Follow
exactly the plan

MS Excel

8
hours

0
hour

atu
d rda
ay
y
un

S


S

F
riday

Thur
sday

W
ednesday

Mo
nday

Tools,
machinery,
equipment &
methodology used

T
uesda
y

Day

Brief
description of
activities
actually

performed

13

0
hour
0
hour


24
hours

Total hours for the week

2.5.6 Tuần 6
Plan of activities to
be performed

Mo
nday

-

Init project.
Setup environment
for Payslip project

Tu
esday


Day

-

Research about
Jenkins.
Setup environment
for Payslip project.

Tools,
machinery,
equipment &
methodology used
Ubuntu LTS
18.04

8
hours

Follow
exactly the plan

Ubuntu LTS
18.04

8
hours

0


Thur
sday

hour

-

Setup environment.

Follow
exactly the plan

MS Word

S
S
F
atu
riday
drda
y

8
hours

0
hour
0
hour

0
hour
24
hours

ay

un

No.
of
hours/day

Follow
exactly the plan

Wedn
esday

-

Brief
description of
activities
actually
performed

Total hours for the week

2.5.7 Tuần 7

Day

14

Plan of activities to
be performed

Brief
description of
activities
actually
performed

Tools,
machinery,
equipment &
methodology used

No.
of
hours/day


-

Design database
schema (Leave,
News, Project, Code
table) for Payslip
project.

Read exist code.
Design database
schema for Payslip
project.

Follow
exactly the plain

MySQL
Workbench

8
hours

Follow
exactly the plan

MySQL
Workbench

8
hours
0
hour

-

Design
database
schema for Payslip

project.

Follow
exactly the plan

MySQL
Workbench

F
riday

Thur
sday

W
ednesday

T
uesda
y

Monday

-

8
hours

0


atu
d rda
ay
y

0
hour
0

un

S

S

hour

hour
24
hours

Total hours for the week

2.5.8 Tuần 8
Plan of activities to
be performed

Mo
nday


-

Tu
esday

Day

-

-

15

Design
database
schema for Payslip
project.
Design database
schema for Payslip
project.
Review database.

Brief
description of
activities
actually
performed

Tools,
machinery,

equipment &
methodology used

No.
of
hours/day

Follow
exactly the plan

MySQL
Workbench

8
hours

Follow
exactly the plan

MySQL
Workbench

8
hours


Wedn
esday

0


Thur
sday

hour

-

Follow
exactly the plan

MySQL
Workbench

8
hours

0
hour
0
hour
0
hour
24
hours

ay

un


S
S
F
atu
riday
drda
y

-

Design database
schema for Payslip
project.
Review database.

Total hours for the week

2.5.9 Tuần 9
Plan of activities to
be performed

Tools,
machinery,
equipment &
methodology used

Thur
sday
F
riday


16

No.
of
hours/day

0
hour
-

Write base code for
payslip project.
Write development
guidelines.

Follow
exactly the plan

Eclipse IDE

W
ednesday

Tu
esday

Mo
nday


Day

Brief
description of
activities
actually
performed

8
hours

0
hour
-

Write base code for
payslip project.

Follow
exactly the plan

Eclipse IDE

8
hours

0
hour



S
atu
d rda
ay
y

0

un

S

0
hour
hour
16
hours

Total hours for the week

2.5.10 Tuần 10
Plan of activities to
be performed

Mo
nday

-

Tuesd

ay

Day

-

Implement Create
Account API.
Test API.
Deploy Payslip to
Server.

Wedn
esday

-

Implement
Create
Account, Employee,
Login API.

No.
of
hours/day

Follow
exactly the plan

Eclipse IDE


8
hours

Follow
exactly the plan

Eclipse IDE

8
hours

Thur
sday

hour

0
hour

S
S
F
atu
riday
drda
y
ay

un


Tools,
machinery,
equipment &
methodology used

0

Total hours for the week

17

Brief
description of
activities
actually
performed

0
hour
0
hour
0
hour
16
hours


2.5.11 Tuần 11
Plan of activities to

be performed

Day

Monday

-

-

Tools,
machinery,
equipment &
methodology used

Eclipse IDE

8
hours

Follow
exactly the plan

Eclipse IDE

8
hours
0
hour


-

Review APIs.
Attend meeting.

Follow
exactly the plan

Eclipse IDE

F
riday

Thur
sday

No.
of
hours/day

Follow
exactly the plan

W
ednesday

T
uesda
y


-

Edit accept and
reponse json for
CreateEmployee,
Signin api.
Implement update
employee api.
Edit UserDetails.
Implement Update
User api.

Brief
description of
activities
actually
performed

8
hours

0

atu
d rda
ay
y

0
hour

0

un

S

S

hour

hour
24
hours

Total hours for the week

2.5.12 Tuần 12

Mond
ay

Day

18

-

Plan of activities to
be performed


Brief
description of
activities
actually
performed

Plan to work for
current week.
Test APIs.
Merge APIs to dev
branch.

Follow
exactly the plan

Tools,
machinery,
equipment &
methodology used

Eclipse IDE

No.
of
hours/day

8
hours



Deploy Payslip to
Server.

Wedn
esday

-

Fix
User
Management APIs.
Fix Dockerfile.

Thurs
day

Tu
esday

-

-

-

ay

un

S

S
F
atu
riday
drda
y

-

Fix APIs.
Attend
review
project meeting.
Present progress of
payslip project.

Total hours for the week

19

Follow
exactly the plan

Ubuntu 18.04
LTS

8
hours

5

hour

8
hour

0
hour
0
hour
0
hour
29
hours


Chương 3 Chi tiết về project
3.1 Giới thiệu
3.1.1 Mục đích
Phần này cung cấp mô tả phạm vi và tổng quan về mọi thứ có trong tài liệu SRS này.
Ngồi ra, mục đích của tài liệu này được mơ tả và danh sách các từ viết tắt và định nghĩa
được cung cấp
3.1.2 Phạm vi
Payslip là một ứng dụng di động sử dụng nội bộ cho các nhân viên trong công ty Wata.
Hiển thị các thông tin bảng lương hàng tháng, thông tin các ngày đã nghỉ và nhận thông
báo từ các dự án, cơng ty.
Ứng dụng sẽ miễn phí tải xuống từ cửa hàng ứng dụng hoặc dịch vụ tương tự. Quản
trị viên sẽ truy cập vào web quản lý để thao tác với các chức năng quản trị và tạo thơng báo
cho các nhân viên. Ví dụ: Quản trị viên có thể xác minh ngày vắng phép, bảng lương và
quản lý thông tin nhân viên. Tất cả thông tin hệ thống được duy trì trong cơ sở dữ liệu trên
máy chủ. Ứng dụng này cũng có khả năng thể hiện cả thơng tin tóm tắt và thơng tin chi tiết

về bảng lương.
3.1.3 Các định nghĩa, từ viết tắt
Term

Definition

Employee

Nhân viên sử dụng với ứng dụng payslip di động.

Admin/Admin
Quản trị viên hệ thống được cấp quyền cụ thể để
istrator
quản lý và kiểm soát hệ thống.
Manager

Quản lý dự án được cấp quyền cụ thể để đăng
thông báo và phê duyệt đơn xin nghỉ phép của thành
viên trong dự án.

HR Manager

Quản lý nhân sự được cấp quyền cụ thể để phê
duyệt đơn xin nghỉ phép và các khiếu nại của nhân viên.

Web-Portal

Một ứng dụng web cung cấp các tiện ích đặc biệt
cho người quản lý(Admin, HR Manager)


Application

Một ứng dụng được cài đặt trên điện thoại di động
giúp người dùng tìm các ứng dụng tương thích mới với
nền tảng điện thoại di động và tải chúng xuống từ
Internet

Stakeholder

Bất kỳ người nào có tương tác với hệ thống không
phải là nhà phát triển

Store

DEP

20

Sự phụ thuộc


3.2 Môi trường
3.2.1 Mobile application
Người sử dụng:
-

Phần cứng:
o HĐH: android 6.0
o Ram: 1GB
o Kết nối: wifi, internet


Môi trường phát triển:
-

Phần cứng:
o HĐH: window 10
o Ram: 8GB
3.2.2 Web portal
Người sử dụng:
-

Phần cứng:
o HĐH: Window, MacOs
o Ram: 4GB
o Kết nối: wifi, internet

Môi trường phát triển:
-

Phần cứng:
o HĐH: window 10
o Ram: 8GB
- Phần mềm:
o Visual Studio Code
o Intelij IDEA
3.2.3 Server
Phần cứng:
-

HĐH: Linux server


Phần mềm:
-

Server: apache2
Database: postgresql
Enviroment: java 8

3.3 Mô tả tổng thể
3.3.1 Ngữ cảnh sản phẩm
- Hệ thống sẽ gồm hai phần: một ứng dụng di động và một web quản lý.
- Ứng dụng di động được sử dụng để người dùng tìm kiếm, xem thông tin, khiếu nại
phiếu lương, thông tin các ngày nghỉ, số ngày nghỉ còn lại, dự án đang tham gia, thông báo
của dự án và công ty, thông tin cá nhân.
21


- Web quản lý sẽ được admin sử dụng để quản lý thơng tin về nhân viên, tài khoản,
phịng ban, dự án, thông báo, phiếu lương của hệ thống.
- Sơ đồ bên dưới mô tả cấu trúc của hệ thống.
3.3.2 Thiết kế dữ liệu

22


3.3.3 Kiến trúc hệ thống

3.4 Các yêu cầu chức năng
3.4.1 Mobile application
3.4.1.1 Đăng nhập

-

23

Activity Diagram


-

24

Wireframe


3.4.1.2 Quên mật khẩu
-

25

Activity Diagram


×