TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH
KHOA CNTT
LUẬN VĂN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ TRÊN NỀN
FRAMEWORK YII
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Giảng viên hướng dẫn :Th.S Nguyễn Lương Anh Tuấn
Sinh viên thực hiện : Nguyễn Thị Tuyền
MSSV: 11L1120055 Lớp: CN11LT
TP Hồ Chí Minh, 2013
LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ trợ từ Giáo
viên hướng dẫn là Th.S Nguyễn Lương Anh Tuấn. Các nội dung nghiên cứu và kết
quả trong đề tài này là trung thực. Những số liệu trong các bảng biểu phục vụ cho
việc phân tích, nhận xét, đánh giá được chính tôi thu thập từ các nguồn khác nhau
có ghi trong phần tài liệu tham khảo. Ngoài ra, đề tài còn sử dụng một số nhận
xét, đánh giá cũng như số liệu của các tác giả, cơ quan tổ chức khác, và
cũng được thể hiện trong phần tài liệu tham khảo.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước
Hội đồng, cũng như kết quả luận văn của mình.
TP.HCM, ngày 26 tháng 12 năm 2013
Sinh viên thực hiện
Nguyễn Thị Tuyền
Trang 2
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành sâu sắc nhất đến tới Ban Giám hiệu Nhà trường
cùng quý thầy cô Khoa Công Nghệ Thông Tin Trường Đại học Giao thông Vận tải
TP.HCM đã chỉ bảo và truyền đạt cho em những kiến thức quý báu trong suốt hai năm
học vừa qua.
NHẬN XÉT CỦA GIÁO VIÊN
Trang 4
thông tin, giảm công sức nhập dữ liệu đầu vào, và có được thông tin đầu ra tổng hợp
hơn
Thực tế có nhiều DN VN hiện nay đã tin học hóa một số khâu trong hoạt động sản
xuất kinh doanh như mua phần mềm kế toán, quản lý nhân sự theo cách áp dụng từng
phần, nghĩa là cần chỗ nào thì bịt chỗ đó mà chưa có kế hoạch hay chiến lược tổng thể,
do đó kết quả là giải quyết được vấn đề này thì phát sinh vấn đề khác. Điều này một
Trang 7
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
phần do kinh phí đầu tư, năng lực của nhà cung cấp và triển khai giải pháp, quan trọng
hơn hết là nhận thức và tư duy của lãnh đạo doanh nghiệp.
Việc áp dụng hệ thống quản lý nhân sự, quản lý kinh doanh, quản trị sản xuất và tổng
thể hơn là ERP (Enterprise Resource Planning - Hệ thống hoạch định nguồn lực DN)
hoặc hệ thống quản lý ISO có thể thực hiện từng phần, nhưng lựa chọn giải pháp gì và
nhà cung cấp nào là việc làm có tính tổng thể, tránh trường hợp khi mở rộng, doanh
nghiệp phải bỏ cái cũ và xây cái mới từ đầu.
Mua và áp dụng phần mềm thường rất dễ dàng?
Phần lớn các DN Việt Nam là các doanh nghiệp vừa và nhỏ (kể cả siêu nhỏ) tuy khả
năng tiếp cận với các hệ thống quản lý chuyên nghiệp đã dễ dàng hơn nhưng kinh
nghiêm quản lý, qui trình quản lý, hệ thống quản lý chưa được áp dụng một cách có
khoa học và triệt để, do đó khi thay đổi mô hình quản lý thuận tiện (có khi tuỳ tiện)
sang mô hình quản lý theo mục tiêu, theo qui trình… thường gặp rất nhiều khó khăn
Một phần mềm có sẵn để áp dụng cho doanh nghiệp có vẻ là 1 giải pháp đơn giản và
dễ dàng, bởi lẽ phần mềm có sẵn thì thường được sử dụng đại trà và bán với giá khá
hấp dẫn. Có thể thấy các dạng phần mềm đóng gói như Microsoft Windows, Office,
Accounting, HRM có mặt rất nhiều trên thị trường, đặc biệt với phần mềm Kế Toán,
Nhân Sự… các doanh nghiệp CNTT phát triển sản phẩm với tính năng gần như là
tương đồng với nhau và thường khác ở tên gọi mà doanh nghiệp muốn xây dựng
thương hiệu. Đặc điểm chung của phần mềm có sẵn này thường giới hạn bởi các chức
năng, người sử dụng phần lớn phải theo qui trình sẵn trên phần mềm, ít nhà cung cấp
phần mềm cung cấp thêm theo các yêu cầu riêng của từng khách hàng ( nếu yêu cầu
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên việc thực hiện không thể
tránh khỏi những thiếu xót. Rất mong được sự đóng góp ý kiến của quý thầy cô trong
bộ môn công nghệ thông tin trường Đại học Giao Thông Vận Tải cùng toàn thể bạn bè
để đề tài em càng hoàn thiện và ứng dụng thực tiễn một cách tốt nhất.
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu đề tài:
Tên đề tài: Quản lý nhân sự (Employee System Management )
Trang 10
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
Xuất phát từ nhu cầu quản lý nhân viên với văn phòng, giảm tải công việc hàng
ngày cho người quản lý, chuyển hoá hoạt động trên giấy sang hoạt động trên máy
để tận dụng sự ưu việt của công nghệ thông tin, ứng dụng này sẽ thực hiện việc
quản lý nhân viên, thông tin hồ sơ(profile), đăng ký ngày nghỉ (vacation), gửi
thông báo, quản lý hợp đồng…
1.2. Mục đích đề tài:
- Quản lý thông tin người dùng, thông tin hồ sơ
- Quản lý ngày nghỉ
- Gửi thông báo trong hệ thống
- Quản lý hợp đồng
- Quản lý các hành động tác động vào hệ thống
- Tìm kiếm thông tin nhân viên, xuất excel danh sách nhân viên
- Tìm kiếm thông tin hợp đồng, xuất excel danh sách hợp đồng
- Tìm kiếm thông tin hồ sơ nhân viên, xuất file excel danh sách, xuất file pdf chi
tiết hồ sơ nhân viên
- Thay đổi mật khẩu, quên mật khẩu
- Tính toán lương từ Net sang Gross và ngược lại
- Tìm hiểu framework Yii, cơ sở dữ liệu Mysql
CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ
Trang 11
biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML
nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản
và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh
mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một
người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau
đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
2.1.2.2. PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các
phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và
Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó.
Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết
sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ
đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và
bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus
và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế
tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.
Trang 13
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng
mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ
tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các
tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và
đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây
chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính
vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng
triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng
Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn
người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và
tài liệu kĩ thuật cho PHP
2.1.2.4. PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển
PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém
của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý
XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ
dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết
Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc
phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng
những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên
mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP
5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là
Trang 15
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào
tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi:
Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị
loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công
bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả
năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều
hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một
chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù
coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong
đó đáng kể là lỗi xác thực HTTP.
Trang 17
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
INT Định dạng kiểu số nguyên có chiều dài từ 0 –
4294967214
Float Định dạng số thực có chiều dài 4 bytes
Double Định dạng số thực có chiều dài 8 bytes
Char Định dạng text chiều dài từ 0 – 255
Varchar Định dạng text có chiều dài từ 0 – 255
Text Định dạng text có chiều dài từ 0 – 65535
Longtext Định dạng text có chiều dài 0 – 4294967214
Date Lưu trữ thời gian theo định dạng YYYY-MM-DD
DateTimeTimeStamp Lưu trữ thời gian theo định dạng YYYY-MM-DD
HH:MM:SS
Decimal Lưu trữ số thực theo đinh dạng chứa dấu “,”
Bảng 1.2: Một số kiểu dữ liệu thường dùng trong MySql
Có các tính năng sau:
- Cho phép truy cập dữ liệu.
- Thực hiện các câu truy vấn
- Tạo mới, cập nhật, xóa dữ liệu
2.3. Yii Framework
2.3.1. Khái quát
- Yii là PHP framework hỗ trợ tốt cho việc phát triển Web 2.0
Trang 18
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
- Yii giúp nhà phát triển xây dựng những ứng dụng phức tạp với thời gian
nhanh nhất
- Yii được phát âm là Yee hoặc [ji:], Yii là viết tắt của “Yes It Is!”. Ý nghĩa
của nó là “Is it fast? Is it secure? Is it professional? Is it right for my
next project? Yes, it is!”
- Yii hoàn toàn miễn phí, là ứng dụng Web mã nguồn mở được phát triển bằng
second” nhằm mô tả việc làm mới ứng dụng có thể xử lý trong mỗi giây.
Trang 20
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
Biểu đồ 2.2: So sánh hiệu suất xử lý các framework “Nguồn www.phpide.com (2008)”
Các thành phần chính của Yii:
- Application
- Controller
- Component
- Model
- View
- Widget
Trang 21
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
2.3.3.1. Luồng xử lý logic
Biểu đồ 3.2: Luồng xử lý yêu cầu trong YII “Nguồn />Về cơ bản, cách làm việc của Yii được thực hiện qua các bước sau:
- Yêu cầu (request) của người dùng được trình duyệt gửi cho Web server.
Web server chuyển tiếp request cho index.php xử lý. Index.php có chức
năng tạo một thực thể Application và thực thi nó
- Application tạo ra các App Component (App Component là các thành phần
của ứng dụng, vd: UrlManager, HttpRequest)
- App Component gửi các thành phần của mình cho Application quản lý
Trang 22
GVHD: Thầy Nguyễn Lương Anh Tuấn Khóa luận tốt nghiệp
- Application xác định các controller và action từ request và gửi chúng cho
UrlManager quản lý. Tiếp đến Application tiến hành thực thi controller
- Controller có thể tạo ra các model để xử lý dữ liệu
- Model gửi dữ liệu cho Controller
- Controller gửi các biến, các thể hiện của model cho View
- View tạo ra các Widget
Controller:
Controller của Yii gồm có 2 thành phần cơ bản là Filter và Action.
Action
Action là các phương thức có tên bắt đầu là action (ví dụ: actionIndex).
Ngoài ra, Yii còn hỗ trợ cách viết các action nâng cao hơn bằng cách tổ chức
các action theo kiểu mô-đun hóa. Ta có thể xem cấu trúc thư mục sau:
Biểu đồ 5.2: Cấu trúc thư mục trong YII “Nguồn: The Denitive Guide”
Trang 25
return array
!"
#$%"
array
&array'()*+&&,"
,"
,