Tải bản đầy đủ (.docx) (47 trang)

PHÁT TRIỂN PHẦN MỀM HƯỚNG FRAMEWORK XÂY DỰNG PHẦN MỀM 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 (1.91 MB, 47 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------------o0o-------------

BÀI TẬP LỚN
PHÁT TRIỂN PHẦN MỀM HƯỚNG FRAMEWORK
Đề 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 Hoàng Quang Huy

Lớp

:

KTPM4 – K10

Nhóm

:

1

Sinh viên thực hiện

:

Phạm Minh Hồng-1041360303
Nguyễn Văn Khải-1941360319



Hà Nội, 2019

1


TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------------o0o-------------

BÀI TẬP LỚN
PHÁT TRIỂN PHẦN MỀM HƯỚNG FRAMEWORK
Đề 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 Hoàng Quang Huy

Lớp

: KTPM4 – K10

Nhóm

: 1

Sinh viên thực hiện

:

Phạm Minh Hồng-1041360303

Nguyễn Văn Khải-1941360319

Hà Nội, 2019

2


MỤC LỤC
Mục Lục Hình................................................................................................................ 5
LỜI NÓI ĐẦU............................................................................................................... 6
LÝ DO CHỌN ĐỀ TÀI.................................................................................................8
CHƯƠNG I. TỔNG QUAN VỀ .NET VÀ ĐỀ TÀI......................................................9
1.1 Tổng quan về .Net Framework và ASP.Net Core MVC.......................................9
1.1.1 Cơ bản về .Net Framework...........................................................................9
a, Công nghệ OLE..........................................................................................9
b, Công nghệ COM........................................................................................9
c, Công nghệ .NET.......................................................................................10
1.1.1.2 Common Language Runtime (CLR)....................................................12
1.1.1.3 Common Type System (CTS)..............................................................12
1.1.1.4 Common Language Specification (CLS).............................................12
1.1.1.5 Microsoft Intermediate Language (MSIL)...........................................13
1.1.1.6 Managed Code.....................................................................................13
1.1.2.1 Giới thiệu mô hình MVC..................................................................13
a, Xuất xứ.....................................................................................................13
b, Kiến trúc mô hình MVC...........................................................................13
c, Đặc điểm của mô hình MVC....................................................................15
1.1.2.2 Tổng quan .NET Core MVC.............................................................15
1.2 Nội dung nghiên cứu..........................................................................................17
1.3 Phạm vi ứng dụng..............................................................................................17
CHƯƠNG II. KHẢO SÁT BÀI TOÁN QUẢN LÝ NHÂN SỰ..................................18

2.1 Khảo sát thực tế bài toán....................................................................................18
2.2 Mục tiêu.............................................................................................................19
2.3 Chức năng và nhiệm vụ.....................................................................................19
2.4 Đảm bảo............................................................................................................. 20
CHƯƠNG III. PHÂN TÍCH HỆ THỐNG...................................................................21
3.1 Phân tích chức năng...........................................................................................21
3.1.1 Các chức năng chính của hệ thống..............................................................21
3.1.2 Chức năng "Hệ thống"...............................................................................22
3.1.3 Chức năng "Quản lý nhân sự".....................................................................22
3.1.5 Chức năng "Quản lý chế độ".......................................................................23
3.1.6 Chức năng "Quản lý tiền lương".................................................................24
3.1.7 Chức năng "Tra cứu"...................................................................................24
3.1.8 Chức năng “Thống kê báo cáo”..................................................................25
3.1.9 Sơ đồ chức năng nghiệp vụ hệ thống Quản lý nhân sự công ty...................25
3.2 Phân tích dữ liệu................................................................................................27
3.2.1 Biểu đồ Use-case của hệ thống...................................................................27
3.2.2 Biểu đồ Use-case Đăng nhập hệ thống........................................................28
3.2.3 Biểu dồ Use-case Quản lý nhân sự..............................................................29
3.2.4 Biểu đồ Use-case Quản lý lương công ty....................................................30
3.2.5 Biểu đồ Use-case Tra cứu...........................................................................31
3.2.6 Biểu đồ Use-case Thống kê báo cáo............................................................32
3.2.7 Chức năng thêm sửa xóa thông tin nhân viên..............................................33
3.2.8 Chức năng lương nhân viên........................................................................33
3


3.2.9 Chức năng báo cáo thống kê.......................................................................34
3.3 Mô hình tổ chức dữ liệu.....................................................................................34
3.4 Mô hình quan hệ dữ liệu....................................................................................37
4.1 Giao diện trang web...........................................................................................39

4.2 Giao diện đăng nhập..........................................................................................39
4.3 Giao diện trang nhân viên..................................................................................40
4.4. Báo cáo nhân sự................................................................................................42
4.5 Giao diện lương.................................................................................................43
4.6. Báo cáo lương...................................................................................................43
KẾT LUẬN.................................................................................................................44
HƯỚNG PHÁT TRIỂN...............................................................................................44
TÀI LIỆU THAM KHẢO...........................................................................................45

4


Mục Lục Hình
Hình 1.1: kiến trúc .Net Framework 4.5...................................................................................12
Hình 1.2: Các thành phần chính của mô hình MVC.................................................................14
Hình 1.3: Mô hình tuần tự của MVC........................................................................................14
Hình 3.1: Thể hiện các chức năng chính của hệ thống Quản lý nhân sự tại công ty...............22
Hình 3.2: Hệ thống đăng nhập.................................................................................................22
Hình 3.3: Quản lý nhân sự........................................................................................................23
Hình 3.4: Quản lý chế độ..........................................................................................................23
Hình 3.5: Quản lý tiền lương....................................................................................................24
Hình 3.6:Tra cứu thông tin.......................................................................................................24
Hình 3.7: Thống kê báo cáo......................................................................................................25
Hình 3.8:Sơ đồ đấy đủ chức năng nghiệp vụ hệ thống.............................................................26
Hình 3.9: User case hệ thống quản lý nhân sự.........................................................................27
Hình 3.10: User case đăng nhập hệ thống...............................................................................28
Hình 3.11: Use case quản lý nhân sự........................................................................................29
Hình 3.12: Use case quản lý lương...........................................................................................30
Hình 3.13: Use case Tra cứu....................................................................................................31
Hình 3.14: Use case Thống kê báo cáo....................................................................................32

Hình 3.15: Biểu đồ tuần tự chức năng thêm sửa xóa thông tin nhân viên...............................33
Hình 3.16: Biểu đồ tuần tự chức năng lương nhân viên...........................................................33
Hình 3.17: Biểu đồ tuần tự chức năng báo cáo thống kê.........................................................34
Hình 3.18: Sơ đồ dữ liệu Users.................................................................................................38
Hình 3.19: Sơ đồ cơ sở dữ liệu Quản lý nhân sự......................................................................38
Hình 4.1: Giao diện trang web.................................................................................................39
Hình 4.2: Giao diện đăng nhập................................................................................................39
Hình 4.3: Giao diện danh sách nhân viên................................................................................40
Hình 4.4: Giao diện tạo mới nhân viên....................................................................................40
Hình 4.5: Giao diện CV............................................................................................................41
Hình 4.6: Giao diện hợp đồng..................................................................................................41
Hình 4.7: Giao diện thống kê tỉ lệ nhân sự...............................................................................42
Hình 4.8: Giao diện file báo cáo excel nhân sự.......................................................................42
Hình 4.9: Giao diện danh sách lương.......................................................................................43
Hình 4.10: Biểu đồ lương.........................................................................................................43
Hình 4.11: Giao diện file báo cáo excel....................................................................................44

5


LỜI NÓI ĐẦU
Ngày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sống con
người, có người đã nói rằng nước Mỹ hùng mạnh một phần là nhờ vào Công nghệ
thông tin. Nếu lúc trước Công nghệ thông tin là một điều viễn tưởng thì giờ đây nó đã
trở thành một phần không thể thiếu trong tất cả các lĩnh vực từ y học, kinh doanh đến
cả giáo dục…
Đất nước ta đang ngày một phát triển, đang cố gắng hòa nhập và rút ngắn
khoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được các nhà
kinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam. Vì vậy để không bị
quá lạc hậu, để rút ngắn khoảng cách với các nước, để đáp ứng yêu cầu tất yếu của các

nhà đầu tư vào Việt Nam và để các nhà kinh doanh trong nước có đủ sức cạnh tranh
với nước ngoài…thì bắt buộc phải đầu tư cho Công nghệ thông tin mà ở đây chính xác
là các phần mềm tin học dùng cho các công ty, bệnh viện,…Việc áp dụng các phần
mềm tin học vào các lĩnh vực giúp nâng cao tính hiệu quả và chính xác của công việc,
ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhọc cho con người khiến hệ thống
công việc hoạt động nhịp nhàng hơn.
Nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng động và sáng tạo
để làm ra những sản phẩm đáp ứng nhu cầu thị trường. Các công ty luôn luôn phát
triển, các hồ sơ tuyển vào sẽ nhiều. Vì vậy cần rất nhiều những kho chứa để lưu trữ hồ
sơ của nhân viên khi vào công ty, giải pháp hiệu quả nhất hiện nay là đầu tư công nghệ
và thiết bị hiện đại, ứng dụng công nghệ thông tin, tự động hóa trong điều hành và
quản lý nhân sự để nâng cao chất lượng phục vụ, đổi mới phương thức quản lý, tăng
năng suất hiệu quả… Cho nên em đã quyết định chọn đề tài tốt nghiệp là “Tìm hiểu
.Net và xây dựng website quản lý nhân sự”.
Ai cũng biết công ty nào cũng vậy, muốn tồn tại và phát triển thì phải có nhân
tố con người. Cùng với tốc độ phát triển mạnh mẽ của Công nghệ thông tin, các lập
trình viên đã phát minh ra nhiều phần mềm hữu ích nhằm phục vụ cho công việc của
con người. Không ngoại lệ, phần mềm quản lý nhân sự cũng là một trong những vấn
đề con người quan tâm nhiều nhất, nó giúp cho công tác nghiệp vụ của các công ty
giảm thiếu tối đa những vất vả trong công việc, giúp cho việc lưu trữ hồ sơ dễ dàng
hơn.
6


Đề tài quản lý nhân sự là một đề tài không phải là mới, hiện tại trên thị trường
cũng có rất nhiều các phần mềm của các Công ty phần mềm có chức năng tương tự và
chuyên nghiệp, nhưng vì mong muốn có thể tìm hiểu một phần kiến thức nhỏ nhoi
trong một đại dương Công nghệ thông tin nên nhóm em đã đi vào tìm hiểu về cơ cấu
tổ chức và phát triển công ty để có thể viết ra một phần mềm quản lý nhân sự nhằm
phục vụ cho lợi ích của công ty. Ứng dụng phần mềm của nhóm em có thể chưa hoàn

chỉnh và còn nhiều thiết sót nhưng đó là sự cố gắng của nhóm em trong bước đầu hòa
nhập vào môi trường làm việc bên ngoài. Nhóm em mong quý thầy cô trong khoa có
thể tạo điều kiện giúp đỡ nhóm em hoàn thành đề tài này tốt hơn .
Chương trình phần mềm quản lý nhân sự của nhóm em được lập trình bằng
ngôn ngữ C#, chạy trên nền .Net Framework và kết nối bằng cơ sở dữ liệu SQL. Phần
mềm này giúp công ty quản lý hồ sơ, lương, chế độ của nhân viên. Giúp giảm tải bớt
việc tìm kiếm mất thời gian mà hiệu quả và tính chính xác vẫn cao.
Nhom em xin chân thành cảm ơn sự giúp đỡ tận tình của thầy Hoàng Quang
Huy trong thời gian qua để giúp nhóm em có thể hoàn thành đề tài này.

7


LÝ DO CHỌN ĐỀ TÀI
Mỗi lần muốn tìm hồ sơ của một nhân viên nào đó trong công ty người quản lý
nhân sự lại phải tìm lần lượt trong kho chứa xem hồ sơ nhân viên đó nằm ở đâu, như
vậy rất tốn thời gian mà có khi không tìm ra do hồ sơ quá nhiều. Công việc lưu trữ hồ
sơ rất thủ công, việc thống kê báo cáo hàng tháng, hàng năm sẽ gặp rất nhiều khó khăn
nếu thông tin nhân viên ngày càng nhiều.
Khi có nhân viên trong công ty thôi việc người quản lý nhân viên công ty phải
tìm trong kho xem hồ sơ đó ở đâu để chuyển sang kho lưu trữ thôi việc, nếu hàng ngày
cứ lặp đi lặp lại nhiều lần như vậy người quản lý nhân sự sẽ gặp rất nhiều khó khăn
trong công tác lưu trữ và quản lý.
Quản lý nhân sự là một trong những vẫn đề then chốt trong mọi công ty. Quản
lý nhân sự không tốt sẽ dẫn đến nhiều vấn đề bất cập trong công ty. Chúng ta luôn thấy
những tình trạng chấm nhầm công hoặc lưu trữ sai thông tin nhân viên, như vậy sẽ dẫn
đến những xáo trộn khi phát lương…Vì vậy yêu cầu đặt ra ở đây là làm thế nào để có
thể lưu trữ hồ sơ và lương của nhân viên một cách hiệu quả nhất, giúp cho nhân viên
trong công ty có thể yên tâm và thoải mái làm việc đạt kết quả cao.
Ngoài những lý do trên còn có một lý do khiến nhóm em quyết định chọn đề tài

“ Tìm hiểu về ASP.NET xây dựng website quản lý nhân sự ” là nhóm em mong muốn
phần mềm này sẽ là người hỗ trợ đắc lực cho việc quản lý nhân sự của công ty. Bạn
không cần thiết phải biết nhiều về tin học, bạn vẫn có thể sử dụng phần mềm quản lý
nhân sự một cách hiệu quả. Giao diện thuận tiện dễ sử dụng của chương trình sẽ luôn
khiến bạn cảm thấy thật thoải mái khi sử dụng phần mềm này.

8


CHƯƠNG I. TỔNG QUAN VỀ .NET VÀ ĐỀ TÀI
1.1 Tổng quan về .Net Framework và ASP.Net Core MVC
1.1.1 Cơ bản về .Net Framework
Ngày nay .NET Framework đã trở thành một trong công nghệ được sử dụng
rộng rãi trên toàn thế giới. Theo số liệu thống kê không chính thức thì số lượng lập
trình viên sử dụng ngôn ngữ C# của .NET cũng rơi vào khoảng 6 triệu. Đây là một sự
tăng trưởng cực kỳ nhanh nếu như chúng ta biết rằng .NET mới chỉ ra đời được hơn 10
năm. Điều đấy cũng cho thấy mức độ hấp dẫn của .NET đối với lập trình viên lớn như
thế nào.
.NET framework cùng với hệ sinh thái Microsoft đã phát triển rất nhanh với tất
cả các công nghệ có thể giúp lập trình viên xây dựng nên các ứng dụng mất ít thời gian
nhất, nó có thể giúp xây dựng từ ứng dụng chạy trên desktop cho đến ứng dụng web và
gần đây là cả ứng dụng mobile/tablet. Cách xây dựng ứng dụng bằng .NET tương đối
dễ dàng và tiện lợi so với các công nghệ khác vì Microsoft đã làm rất tốt phần việc của
mình khi giúp cho lập trình viên không còn phải can thiệp và hiểu quá sâu về hệ thống
và cách thức hoạt động của .NET.
Tuy nhiên, để có thể nắm vững và sử dụng hiệu quả .NET, tránh những lỗi khó
xử lý thì chúng ta cần phải hiểu được kiến trúc của .NET cũng như cách thức hoạt
động của nó.
1.1.1.1 Các công nghệ tiền thân của .NET
a, Công nghệ OLE

OLE (Object Linking and Embedding) là công nghệ ra đời đầu tiên của
Microsoft trong những năm 90 để đơn giản hóa việc giao tiếp giữa các ứng dụng.
Chúng hỗ trợ:


Nhúng tài liệu từ một ứng dụng sang ứng dụng khác



Cho phép một ứng dụng chỉnh sửa các đối tượng trong ứng dụng khác

OLE cho phép người dùng phát triển ứng dụng yêu cầu liên kết giữa các sản phẩm
khác nhau VD: Word hay Excel.

9


b, Công nghệ COM
Trước khi COM xuất hiện cách phát triển phần mềm thông thường là xây dựng
thành một khối duy nhất. Thế nhưng khi chương trình lớn và phức tạp dần lên thì cách
làm này dẫn tới một số vấn đề về bảo trì và kiểm thử phần mềm. Để giải quyết vấn đề
này Microsoft đã tiến tới mô hình dựa trên các thành phần để phát triển phần mềm.
Cách này đơn giản là chia phần mềm thành các module (các thành phần độc lập) mà
mỗi module sẽ cung cấp một dịch vụ cụ thể. Mỗi module này có thể kiểm thử và phát
triển độc lập sau đó tích hợp vào phần mềm chính. Kỹ thuật này được gọi là mô hình
đối tượng dựa trên thành phần COM (Component Object Model).
Mô hình này giúp cho việc phát triển phần mềm linh hoạt hơn:


Giảm độ phức tạp của toàn bộ phần mềm




Cho phép phát triển các module phân tán giữa nhiều nhóm, phòng ban…



Tăng khả năng bảo trì phần mềm

c, Công nghệ .NET
Công nghệ .NET là mô hình dựa trên thành phần thế hệ thứ 3. Nó nâng cấp
cách thức liên kết giữa các thành phần trong hệ thống so với công nghệ COM. Trong
khi COM cung cấp một cơ chế nhị phân chuẩn để giao tiếp giữa các module thì .NET
thay thế cơ chế này bởi một ngôn ngữ trung gian gọi là Microsoft Intermediate
Language (MSIL) hay IL. Các trình biên dịch .NET khác nhau sẽ dịch code của các
module thành mã IL nên sẽ tự động tương thích với các IL của module khác.
IL code có một thuộc tính là metadata về các dữ liệu và mô tả thuộc tính của nó.
IL giúp cho việc tích hợp giữa các ngôn ngữ khác nhau trở nên dễ dàng. Ngoài IL,
.NET còn bao gồm một loạt các công nghệ và công cụ khác giúp cho chúng ta phát
triển và xây dựng các ứng dụng dễ dàng hơn.
Đây là môi trường giúp cho việc xây dựng, phát triển và chạy các ứng dụng trên
nền .NET, bao gồm tất cả các loại ứng dụng: Windows Form, Web, Siverlight, WPF,
Windows Phone…
Lợi ích của việc xây dựng Asp.Net Framework:
-

Giữ cho bạn các ứng dụng Asp.Net được bảo mật với xác thực Windows

-


và cấu hình mỗi ứng dụng tích hợp.
Asp.Net đã giảm các dòng mã dài cần thiết để phát triển các ứng dụng

-

lớn.
Asp.Net và Html, cùng nhau tạo ra các trang web động một cách trơn
tru.
10


-

Là một công nghệ kịch bản phía máy chủ lý tưởng, mã Asp.Net trước

-

tiên chạy trên máy chủ Windows trước khi hiển thị trên trình duyệt web.
Asp.Net Framework là một ngôn ngữ không tùy thuộc, nghĩa là bạn có
thể chọn bất kỳ ngôn ngữ lập trình nào phù hợp nhất với ứng dụng của

-

bạn.
Với thông tin cấu hình tích hợp, Asp.Net rất dễ triển khai.
Máy chủ web Windows giám sát kỹ lưỡng các trang web, nhiều thành

-

phần và ứng dụng chạy trên nó.

.Net Framework nhanh chóng đưa ra cảnh báo về rò rỉ bộ nhớ, các vòng
lặp không bị ràng buộc và các hành vi sai trái khác, ngay lập tức dừng và

-

khởi động lại chúng một lần nữa.
Các tính năng của Asp.Net như liên kết sớm, biên dịch JIT, dịch vụ lưu
trữ và hỗ trợ tối ưu hóa riêng mang lại cho ứng dụng của bạn mức hiệu

-

năng cao.
Tất cả các ứng dụng Asp.Net được giám sát và quản lý chặt chẽ để giúp

-

ứng dụng có sẵn để xử lý các yêu cầu.
Phần hay nhất của .Net Framework là nó có các tính năng bộ nhớ đệm

-

tích hợp sẵn.
Nội dung và logic chương trình được phân tách trong .Net Framework,
do đó làm giảm sự bất tiện của chương trình.

Microsoft Asp.Net Framework là một khung phát triển được sử dụng rộng rãi
để xây dựng các ứng dụng web cấp doanh nghiệp, mà ngày nay các nhà phát triển rất
thích sử dụng. Công nghệ .Net mang lại lợi ích to lớn cho các vấn đề khác nhau như
quản lý bộ nhớ, bảo mật và xử lý đặc biệt, một nhà phát triển có thể phải đối mặt.
Những ưu điểm nêu trên đã khiến Asp.Net Framework trở thành một lựa chọn lý tưởng

để phát triển ứng dụng.
.NET Framework gồm 3 công nghệ khác nhau:
 Common Language Runtime(CLR)
 Các lớp cơ sở của framework (Framework Based Classes – FBC)
 Các giao diện chương trình (Web, Winform, Windows Phone …)

11


Hình 1.1: kiến trúc .Net Framework 4.5

1.1.1.2 Common Language Runtime (CLR)
CLR được coi như trái tim và linh hồn của .NET Framework. CLR như tên
ám chỉ cung cấp một môi trường thực thi nơi mà các ứng dụng viết bằng .NET (C#,
VB.NET, C++…) có thể chạy được.
CRL cung cấp một số dịch vụ như sau:
 Nạp và thực thi chương trình
 Phân chia vùng nhớ của ứng dụng
 Xác minh tính an toàn của kiểu dữ liệu
 Dịch mã IL thành mà máy thực thi được
 Cung cấp metadata
 Quản lý bộ nhớ tự động (automatic garbage collection)
 Thực thi bảo mật
 Quản lý lỗi và ngoại lệ
 Hỗ trợ các công việc như debug hoặc profile ứng dụng
 Liên kết với các hệ thống khác
1.1.1.3 Common Type System (CTS)
.NET framework hỗ trợ nhiều ngôn ngữ và đều dùng một thành phần gọi là hệ
thống kiểu chung CTS trong CLR. CTS hỗ trợ một loạt kiểu và toán tử có thể thấy
12



trong hầu hết các ngôn ngữ lập trình nên gọi một ngôn ngữ từ một ngôn ngữ khác sẽ
không yêu cầu chuyển kiểu. Dẫn đến chúng ta có thể xây dựng các ứng dụng .NET sử
dụng cả ngôn ngữ VB.NET lẫn C#, C++…
1.1.1.4 Common Language Specification (CLS)
Đặc tả ngôn ngữ chung CLS là một tập con của CTS, nó định nghĩa một tập các
quy tắc cho phép liên kết hoạt động trên nền tảng .NET. Các quy tắc này sẽ trợ giúp và
chỉ dẫn cho các nhà thiết kế compiler của hãng thứ 3 hoặc những người muốn xây
dựng thư viện dùng chung.
1.1.1.5 Microsoft Intermediate Language (MSIL)
MSIL hay còn gọi IL là một tập lệnh mà tất cả các chương trình .NET được
biên dịch thành. Nó trông hơi giống ngôn ngữ assembly và nó chứa các lệnh để nạp,
lưu trữ, khởi tạo, gọi các phương thức trong chương trình. Khi chúng ta biên dịch một
chương trình C# hoặc bất kỳ chương trình nào được viết bởi ngôn ngữ tuân theo CLS
thì mã của nó sẽ là IL.
1.1.1.6 Managed Code
CLR chịu trách nhiệm quản lý việc thực thi mã được biên dịch trên nền tảng
.NET. Mã chạy được trên môi trường thực thi CLR được gọi là managed code. Trình
biên dịch tương thích với nền tảng .NET sẽ tạo ra managed code. Managed code được
tạo bởi C# chính là IL code.
1.1.2.1 Giới thiệu mô hình MVC
a, Xuất xứ
Nắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở
Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng
đối tượng ( Object Oriented Programming) cho phép lập trình viên làm việc với những
thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng
của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi
cho ra đời cái gọi là kiến trúc MVC ( viết tắt của Model – View – Controller).
MVC được phát minh tại Xerox Parc vào những năm 70,bởi TrygveReenskaug.

MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Sau đó trong một thời
gian dài hầu như không có thông tin nào về MVC, ngay cả trong tài liệu 80 Smalltalk.
Các giấy tờ quan trọng đầu tiên đƣợc công bố trên MVC là “A Cookbook for Using
the Model-View-Controller User Interface Paradigm in Smalltalk – 80”, bởi Glenn
Krasner và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.
b, Kiến trúc mô hình MVC
Trong kiến trúc MVC, một đối tượng đồ họa người dùng (GUI Component)
bao gồm 3 thành phần cơ bản: Model, View và Controller. Model có trách nhiệm đối
với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể hiện
trực quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và
Controller điều khiển việc tương tác giữa đối tượng đồ họa với người sử dụng cũng
như những đối tượng khác.

13


Hình 1.2: Các thành phần chính của mô hình MVC
Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối
tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller sẽ
thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào xảy ra ở Model, nó
sẽ phát thông điệp ( broadcast message) thông báo cho View và Controller biết. Nhận
được thông điệp từ Model, View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó
luôn là thể hiện trực quan chính xác của Model. Còn Controller, khi nhận được thông
điệp từ Model, sẽ có những tương tác cần thiết phản hồi lại người sử dụng hoặc các
đối tượng khác.

Hình 1.3: Mô hình tuần tự của MVC

14



c, Đặc điểm của mô hình MVC
Cái lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ bảo
trì, module hóa các chức năng, và được xây dựng nhanh chóng. MVC tách các tác vụ
của ứng dụng thành các phần riêng lẻ model, view, controller giúp cho việc xây dựng
ứng dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng cũ có thể
dễ dàng thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có thể làm việc
đồng thời với nhau. MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnh
hưởng đến các phần khác.
Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa
các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và
tính tái sử dụng (reusebility) của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ
có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi
cách thức lưu trữ (Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta
có thể thay đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa
mà những thành phần còn lại vẫn giữ nguyên.
Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều
framework và thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn
ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát
triển vào thập niên 70 của thế kỷ 20). Các Swing Components của Java cũng được
xây dựng dựa trên kiến trúc MVC. Đặc biệt là nền tảng ASP.NET MVC Frame work.
1.1.2.2 Tổng quan .NET Core MVC
ASP.NET Core là một khung mã nguồn mở, hiệu suất cao, đa nền tảng để xây
dựng các ứng dụng kết nối Internet hiện đại, dựa trên đám mây. Với ASP.NET Core,
bạn có thể:
 Xây dựng các ứng dụng và dịch vụ web, ứng dụng IoT và phụ trợ di
động.
 Sử dụng các công cụ phát triển yêu thích của bạn trên Windows, macOS
và Linux.
 Triển khai lên đám mây hoặc tại chỗ.

 Chạy trên .NET Core hoặc .NET Framework.
ASP.NET Core cung cấp các lợi ích sau:
 Cách sắp đặt thống nhất để xây dựng giao diện người dùng web và API
web.
 Kiến trúc cho khả năng kiểm tra.
 Razor Pages giúp mã hóa các kịch bản tập trung vào trang dễ dàng hơn
và hiệu quả hơn.
 Có khả năng phát triển và chạy trên Windows, macOS và Linux.
 Nguồn mở và tập trung vào cộng đồng.
 Tích hợp các khung công tác hiện đại, phía khách hàng và quy trình phát
triển.
15







Một hệ thống cấu hình dựa trên môi trường, sẵn sàng cho đám mây.
Tích hợp tiêm phụ thuộc.
Nhẹ, hiệu suất cao và modular HTTP cần đường dẫn.
Khả năng lưu trữ trên IIS, Nginx, Apache, Docker hoặc tự lưu trữ trong

quy trình của riêng bạn.
 Phiên bản ứng dụng song song khi nhắm mục tiêu .NET Core.
 Công cụ đơn giản hóa phát triển web hiện đại.
ASP.NET Core MVC cung cấp các tính năng để xây dựng API web và ứng
dụng web:
 Mô hình Model-View-Controller (MVC) giúp làm cho API web và ứng

dụng web của bạn có thể kiểm tra được.
 Razor Page là một mô hình lập trình dựa trên trang, giúp xây dựng giao
diện người dùng web dễ dàng và hiệu quả hơn.
 Razor markup cung cấp một cú pháp hiệu quả cho các Razor Pages và
MVC views.
 Helpers Tag cho phép mã phía máy chủ tham gia vào việc tạo và hiển thị
các phần tử HTML trong tệp Razor Page.
 Hỗ trợ tích hợp cho nhiều định dạng dữ liệu và trao đổi nội dung cho
phép API web của bạn tiếp cận được nhiều khách hàng, bao gồm cả trình
duyệt và thiết bị di động.
 Mô hình liên kết tự động ánh xạ dữ liệu từ các yêu cầu HTTP đến các
tham số phương thức hành động.
 Xác thực mô hình tự động thực hiện xác nhận phía máy khách và phía
máy chủ.
Phát triển phía khách hàng:
ASP.NET Core tích hợp hoàn hảo với các khung và thư viện phía máy khách
phổ biến, bao gồm các Razor Components, Angular, React và Bootstrap.
1.2 Nội dung nghiên cứu
Để có thể hoàn thành được đề tài thì cần phải nghiên cứu những nội dung như
sau :
 Tìm hiểu sơ lược về thông tin.
 Khái niệm thông tin.
 Các loại thông tin quản lý.
 Vai trò của thông tin trong tổ chức.
16


 Khái niệm hệ thống – hệ thống thông tin – hệ thống thông tin quản lý.
 Một vài khái niệm liên quan đến quy trình quản lý nhân sự.
 Quy trình bài toán quản lý nhân sự.

Tìm hiểu tổ chức, cách thức hoạt động của công ty.



 Tìm hiểu về các nghiệp vụ của công ty như nghiệp vụ tính lương, nghiệp vụ
chấm công, nghiệp vụ quản lý bảo hiểm xã hội, thai sản cho nhân viên. Phải
nắm được rõ những nghiệp vụ này thì chúng ta mới có thể xây dựng được
phần mềm.
 Cần phải tìm hiểu nghiên cứu về những nhu cầu có thể phát sinh của doanh
nghiệp trong tương lai để từ đó có thể có giải pháp thiết kế phần mềm phù hợp
có tính mềm dẻo cao đáp ứng được bất cứ sự thay đổi có thể xảy ra nào.
1.3 Phạm vi ứng dụng
Ứng dụng được xây dựng với mục đích là phục vụ cho tác vụ quản lý hồ sơ
nhân viên, quản lý lương, chấm công, cũng như là những tác vụ luân chuyển nhân
viên, quản lý bảo hiểm, các chế độ. Vì vậy đối tượng sử dụng nó là những nhân viên
có thẩm quyền của doanh nghiệp, cụ thể hơn đó chính là những nhà lãnh đạo doanh
nghiệp và những nhân viên thuộc phòng nhân sự của công ty.

17


CHƯƠNG II. KHẢO SÁT BÀI TOÁN QUẢN LÝ NHÂN SỰ

2.1 Khảo sát thực tế bài toán
Quản lý nhân sự là một trong những công việc thiết yếu, góp phần quyết định
sự thành bại của một công ty, do nhu cầu thực tiễn như vậy. Em đã nghiên cứu mô
hình các công ty trong và ngoài nước về quản lý nhân sự. Hiện tại em đang xây dựng
phần mềm quản lý nhân sự cho Công ty TNHH Mạnh Lee nhằm để hỗ trợ cho việc
quản lý nhân sự gồm:
+ Quản lý nhân sự

+ Quản lý bảng công và lương của nhân viên trong công ty
Phần mềm quản lý nhân sự để phục vụ công tác quản lý nhân sự, người quản lý
có khả năng bao quát và điều hành nhân sự, chịu trách nhiệm đưa ra các thống kê, báo
cáo định kỳ và thường xuyên về tình hình hoạt động của công ty. Các khâu chuyên
trách khác của nhân sự sẽ do Nhân viên trong bộ phận nhân sự quản lý đảm nhiệm.
Quản lý nhân sự sẽ có các bộ phận chuyên trách riêng cho các công việc liên quan đến
nghiệp vụ nhân sự :

 Bộ phận quản lý nhân sự thực hiện các công việc như nhập thông tin cá nhân
của từng nhân sự, nhập thông tin về bộ phận hoặc phòng ban…
 Bộ phận quản lý chế độ thực hiện quản lý các chế độ của nhân viên trong công
ty như chế độ khen thưởng, chế độ kỷ luật, các phụ cấp cần thiết, chế độ bảo
hiểm….
 Bộ phận quản lý tiền lương thực hiện quản lý thông tin liên quan về lương của
nhân viên như bảng công, làm thêm giờ,…
 Bộ phận quản lý hữu trí thực hiện quản lý các thông tin liên quan đến nhân
viên thuộc diện hưởng chế độ nghỉ hưu hoặc nghỉ hưu trước tuổi để cân bằng
được lương hưu cho nhân viên.
 Bộ phận quản lý tạm ứng thực hiện việc quản lý thông tin tạm ứng lương của
nhân viên trong tháng tiện cho bộ phận kế toán đầy đủ thông tin hơn khi tính
lương hàng tháng cho nhân viên.
 Tra cứu thông tin nhân viên theo các tiêu trí đặt ra.

18


Ngoài ra, hệ thống còn giúp người quản trị quản lý nhân sự thông qua các
nhóm người dùng bằng cách cung cấp quyền sử dụng các chức năng tương ứng với
quyền hạn được kiểm soát thông qua các tài khoản đăng nhập nhằm làm bảo mật hơn
hệ thống quản lý nhân sự.

2.2 Mục tiêu
Nghiên cứu bài toán quản lý nhân sự nói chung và bài toán quản lý nhân sự của
công ty TNHH Mạnh Lee nói riêng để thiết kế và lập trình phần mềm nhằm hỗ trợ
công tác quản lý của công ty.
Dự kiến lập trình phần mềm quản lý nhân sự ở công ty đạt được các mục tiêu
chính sau:


Cập nhật hồ sơ nhân viên mới vào công ty.



Cập nhật phòng ban hoặc bộ phận khi công ty phát sinh thêm các bộ
phận hoặc phòng ban mới.
Quản lý chế độ cho nhân viên giúp cho nhân viên được hưởng các chế độ



ưu đãi cũng như kỷ luật của công ty của công ty.


Tìm kiếm, tra cứu thông tin nhân viên trong công ty.



Kết xuất bảng thống kê danh sách nhân viên.



Kết xuất bảng công trong công ty.




Thông kê số lượng nhân sự.



Biểu đồ thể hiện sự chênh lệch nhân viên giữa các phòng ban, tỉ lệ nam-nữ
trong công ty.
Hợp đồng của mỗi nhân viên.



2.3 Chức năng và nhiệm vụ
o

Hệ thống yêu cầu đăng nhập trước khi quản trị (hay nhân viên quản lý

nhân sự) muốn quản lý, và sử dụng các chức năng quản lý tương ứng với
quyền hạn của người đăng nhập (quản lý, người dùng)
o

Menu chính bao gồm các menu con, mỗi menu thường là điểm vào

của một chức năng.
o

Chức năng hệ thống (cập nhật thông tin phòng ban, chức vụ, cập nhật

các thông tin nhân viên (thêm, xoá, sửa) chỉ được sử dụng bởi người quản lý

19


o

Chức năng tìm kiếm có thể áp dụng cho: quản lý (nhân viên phòng

nhân sự).
o

Chức năng quản lý chế độ chỉ được sử dụng bởi người quản trị phần

mềm này.
o

Kết xuất báo cáo, thống kê chỉ được áp dụng cho người quản lý thuộc

phòng nhân sự.
o

Chức năng quản lý lương chỉ được áp dụng cho người trực tiếp quản

lý bộ phận làm lương cho nhân viên trong công ty thông qua một số thông tin
như bảng công, các phụ cấp cần thiết….
o

Chức năng xóa cho những nhân viên thôi việc của công ty khi có yêu

cầu của cấp trên chỉ được thực hiện bởi nhân viên phòng nhân sự.


2.4 Đảm bảo
Hệ thống Quản lý nhân sự được thiết kế để đảm bảo:
 Thời gian xử lý nhanh
 Tra cứu dữ liệu được xử lý chính xác các thông tin về nhân viên trong công
ty nhằm phục vụ cho các thao tác hoặc các chức năng sau nó.
 Dễ sử dụng với những giao diện đồ hoạ thân thiện phù hợp với người sử
dụng.

20


CHƯƠNG III. PHÂN TÍCH HỆ THỐNG

3.1 Phân tích chức năng
3.1.1 Các chức năng chính của hệ thống
Qua khảo sát quy trình hoạt động của hệ thống, nghiên cứu các nghiệp vụ, ta
thấy nổi bật các chức năng chính là: Hệ thống, tìm kiếm, quản lý chế độ, quản lý tiền
lương, đưa ra thông báo (thôi việc..), quản lý luân chuyển, và thống kê báo cáo.
Chức năng Hệ thống có nhiệm vụ quản lý thông tin về nhân viên (thêm, sửa,
xoá), bộ phận và phòng ban cho công ty. Và công việc này chỉ được sử dụng bởi người
quản lý.
Chức năng tìm kiếm có thể áp dụng cho: quản lý (nhân viên phòng nhân sự).
Chức năng này phục vụ cho hoạt động tìm kiếm, tra cứu thông tin của nhân viên một
cách nhanh nhất bằng cách tìm theo mã nhân viên, theo họ tên nhân viên, tìm theo
chức vụ, phòng ban, tuổi của nhân viên.
Chức năng thống kê báo cáo: có nhiệm vụ thống kê và lập các báo cáo theo các
tiêu chuẩn khác nhau, qua đó hỗ trợ công tác quản lý, lập kế hoạch bổ sung nhân viên
cho công ty.
Chức năng Quản lý chế độ chỉ được sử dụng bởi người quản trị phần mềm.
Chức năng này có nhiệm vụ nhập danh sách nhân viên tham gia bảo hiểm xã hội, bảo

hiểm y tế và danh sách nhân viên có phụ cấp ăn trưa và phụ cấp điện thoại…
Chức năng quản lý lương chỉ được áp dụng cho người trực tiếp quản lý bộ phận
làm lương cho nhân viên trong công ty thông qua một số thông tin như bảng công, phụ
cấp, bảo hiểm để từ đó đưa ra được bảng lương cho công ty.
Chức năng thông báo danh sách nhân viên được luân chuyển hoặc thôi việc của
công ty khi có yêu cầu của cấp trên chỉ được thực hiện bởi nhân viên phòng nhân sự.

21


QUẢN LÝ NHÂN SỰ

Đăng nhập
Tra cứu
Thống kê báo cáo
Hợp đồng
Quản
Quản lý nhân sự Quản lý Quản lý chế
độ lý tiền lương
Luân chuyển

Hình 3.4: Thể hiện các chức năng chính của hệ thống Quản lý nhân sự tại công ty

3.1.2 Chức năng "Hệ thống"
Hệ thống yêu cầu đăng nhập trước khi quản trị (hay nhân viên quản lý nhân sự)
muốn quản lý, và sử dụng các chức năng quản lý tương ứng với quyền hạn của người
đăng nhập (quản lý, người dùng).
Ở đây người quản trị có thể thay đổi mật khẩu của chương trình để đảm bảo
tính bảo mật của chương trình.
Hệ thống


Đăng nhập hệ thống

Đổi mật khẩu

Hình 3.5: Hệ thống đăng nhập
3.1.3 Chức năng "Quản lý nhân sự"
Chức năng “Quản lý nhân sự” ở chức năng này người trực tiếp quản lý đó là
nhân viên phòng nhân sự thực hiện được những yêu cầu sau:
+ Cập nhật tất cả các thông tin của nhân viên trong công ty như (Họ tên, quê
quán, năm sinh, điện thoại, chức vụ…) bổ sung vào danh sách nhân viên trong công ty.
+ Nhập bộ phận của từng nhân viên vào phòng ban cụ thể nào đó.

22


+ Sửa chi tiết thông tin nhân viên: thực hiện việc chỉnh sửa, cập nhật bổ sung
thêm các thông tin chi tiết của từng nhân viên.
+ Lập phân loại, thực hiện việc cập nhật bổ sung, chỉnh sửa phân loại nhân viên
vào từng phòng ban cụ thể.
+ Xoá thông tin: thực hiện việc xoá thông tin khi nhân viên nghỉ việc hoặc chyển
đi nơi khác…
+ Báo cáo cấp trên

Quản lý nhân sự

Thông
tin
nhân
viên


Bộ phận
phòng
ban

Hình 3.6: Quản lý nhân sự
3.1.5 Chức năng "Quản lý chế độ"
Chức năng này sẽ quản lý những cán bộ công nhân viên trong công ty có tham
gia các chế độ như: Bảo hiểm, phụ cấp ăn trưa, phụ cấp điện thoại và sẽ thống kê lại
trong từng tháng…
+ Mở cơ sở dữ liệu
+ Cho phép người quản lý thêm thông tin mới, chỉnh sửa các thông tin và xoá
bỏ các thông tin không cần thiết khi nhân viên đó chuyển đi. Thông qua chức năng
này giúp cho việc quản lý dễ giàng hơn.
+ Thống kê lại từng tháng báo cáo cấp trên
Quản Lý Chế Độ

Bảo
Hiểm

Phụ cấp
ăn trưa

Phụ cấp
điện
thoại

Phụ cấp
trách
nhiệm

23


Hình 3.7: Quản lý chế độ

3.1.6 Chức năng "Quản lý tiền lương"
Chức năng này sẽ được nhân viên phòng nhân sự theo dõi quá trình làm việc và
tính lương cho từng cán bộ công nhân viên trong từng tháng như: làm thêm giờ của
công nhân, bảng chấm công, bảng lương của công nhân viên trong công ty….
+ Theo dõi chấm công cho nhân viên từng ngày
+ Cập nhật xem có nhân viên nào được khen thưởng hay bị kỷ luật
+ Tình hình công việc của mỗi nhân viên xem có tăng ca thêm hay giảm giờ làm
không,…
+ Chức năng này sẽ được làm hàng ngày, phục vụ cho việc tính lương hàng
tháng của mỗi nhân viên.

Quản lý tiền lương

Quản lý
bảo hiểm

Quản lý
phụ cấp

Quản lý
ngày công

Hình 3.8: Quản lý tiền lương
3.1.7 Chức năng "Tra cứu"
Chức năng này dùng tra cứu thông tin mà người quản trị muốn tìm kiếm như tra

cứu thông tin của một nhân viên nào đó chẳng hạn, xem nhân viên như thế nào, theo
dõi tình hình làm việc của nhân viên đó…..

Tra cứu

Phòng ban

Chức vụ

Thông tin nhân
viên

24


Hình 3.9:Tra cứu thông tin

Thực hiện được tất cả những công việc khi có yêu cầu của cấp trên muốn biết
thông tin nào đó vd: muốn biết tình hình làm việc của nhân viên A thuộc phòng ban
nào đó, hay chức vụ gì,….
3.1.8 Chức năng “Thống kê báo cáo”
Báo cáo theo định kỳ hoặc theo yêu cầu của cấp trên các thông tin của nhân viên
như: Tỉ lệ nhân viên trong các phòng ban, tỉ lệ nam nữ trong công ty, lương, hợp
đồng, bảo hiểm,…

Thống kê báo cáo

Thông

nhân

viên

Tiền
lương

Số
nam
nữ

Phòng
ban

Hình 3.10: Thống kê báo cáo

3.1.9 Sơ đồ chức năng nghiệp vụ hệ thống Quản lý nhân sự công ty

25


×