TRƢỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC TỰ NHIÊN
BỘ MÔN TIN HỌC ỨNG DỤNG
----
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG THÔNG TIN
QUẢN LÝ CÁN BỘ KHOA KHOA HỌC
TỰ NHIÊN TRÊN NỀN TẢNG
ZEND FRAMEWORK 2
Cán bộ hƣớng dẫn
ThS. Võ Hải Đăng
Sinh viên thực hiện
Hồ Thị Liên
MSSV: 1108021
Cần Thơ - 2014
TRƢỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC TỰ NHIÊN
BỘ MÔN TIN HỌC ỨNG DỤNG
----
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG THÔNG TIN
QUẢN LÝ CÁN BỘ KHOA KHOA HỌC
TỰ NHIÊN TRÊN NỀN TẢNG
ZEND FRAMEWORK 2
Cán bộ hƣớng dẫn
Ths. Võ Hải Đăng
Sinh viên thực hiện
Hồ Thị Liên
MSSV: 1108021
Cán bộ phản biện
Chủ tịch hội đồng: Ths. Nguyễn Thị Thùy Linh
Ủy viên: Ts. Nguyễn Hữu Hòa
Luận văn đƣợc bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng
dụng Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần Thơ vào ngày 20 tháng 05 năm
2014
Mã số đề tài:
Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Trƣờng Đại học Cần Thơ
- Website: http://www.lrc.ctu.edu.vn/
Cần Thơ – 2014
LỜI CẢM ƠN
Trong suốt quá trình học tập, rèn luyện mà đặc biệt là giai đoạn thực hiện luận
văn “Xây dựng hệ thống quản lý cán bộ Khoa Khoa học Tự Nhiên bằng Zend
Framework 2”, tôi đã gặp không ít khó khăn và trở ngại. Tuy nhiên, nhờ có sự động
viên từ gia đình, sự hƣớng dẫn từ thầy cô và sự giúp đỡ từ bạn bè cộng với sự cố gắng
và nỗ lực của bản thân, tôi đã hoàn thành luận văn này. Tôi xin gởi lời cảm ơn chân
thành nhất đến:
Gia đình đã luôn quan tâm, động viên để tôi an tâm học tập và rèn luyện trong
thời gian qua.
Quý Thầy, Cô bộ môn Tin học Ứng dụng vì những kiến thức và kinh nghiệm mà
Thầy, Cô đã truyền đạt, giúp tôi có nền tảng kiến thức để thực hiện luận văn này. Xin
gởi lời tri ân đến giáo viên hƣớng dẫn ThS. Võ Hải Đăng đã tận tình hƣớng dẫn và góp
ý cho tôi rất nhiều trong quá trình làm luận văn.
Bạn bè trong lớp Tin học Ứng dụng K36 đã kịp thời chia sẽ và đƣa ra những góp
ý quý báu cho đề tài.
Mặc dù đã cố gắng hoàn thành luận văn này, nhƣng với lƣợng kiến thức có hạn
sẽ khó tránh khỏi những thiếu sót và hạn chế. Do đó, tôi rất mong nhận đƣợc sự nhận
xét và góp ý từ quý Thầy, Cô, bạn bè để có thể rút kinh nghiệm và hoàn thiện hơn.
Cần Thơ, ngày 10/04/2014
Sinh viên thực hiện
Hồ Thị Liên
MỤC LỤC
MỤC LỤC
MỤC LỤC .......................................................................................................................i
DANH MỤC HÌNH ..................................................................................................... iii
DANH MỤC BẢNG ...................................................................................................... v
TÓM TẮT .....................................................................................................................vi
ABSTRACT ................................................................................................................ vii
CHƢƠNG 1: TỔNG QUAN ......................................................................................... 1
1.1 ĐẶT VẤN ĐỀ ...................................................................................................... 1
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ....................................................................... 1
1.3 PHẠM VI ĐỀ TÀI ................................................................................................ 2
1.3.1 Phạm vi chức năng.......................................................................................... 2
1.3.2 Phạm vi yêu cầu kỹ thuật ................................................................................ 3
1.4 PHƢƠNG PHÁP NGHIÊN CỨU ........................................................................ 3
1.4.1 Về phƣơng pháp thu thập thông tin ................................................................ 3
1.4.2 Về lý thuyết .................................................................................................... 3
1.4.3 Về công nghệ .................................................................................................. 4
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ............................................................................. 5
2.1 MÔ HÌNH MVC ................................................................................................... 5
2.1.1 Lịch sử ra đời mô hình MVC ......................................................................... 5
2.1.2 Các thành phần trong mô hình ....................................................................... 5
2.1.3 Quy trình xử lý ............................................................................................... 6
2.1.4 Ƣu, nhƣợc điểm của mô hình MVC ............................................................... 7
2.2 TỔNG QUAN VỀ FRAMEWORK ..................................................................... 7
2.3 ZEND FRAMEWORK ........................................................................................ 8
2.3.1 Tổng quan ....................................................................................................... 8
2.3.2 Lý do chọn Zend Framework ......................................................................... 9
2.3.3 Các lớp phổ biến trong Zend Framework 2.................................................... 9
2.3.4 Cấu trúc thƣ mục của một ứng dụng Zend Framework ............................... 13
2.3.5 Mô hình MVC trong ứng dụng Zend Framework 2 ..................................... 14
CHƢƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ...................................... 17
3.1 ĐẶC TẢ HỆ THỐNG ........................................................................................ 17
i
MỤC LỤC
3.1.1 Giới thiệu ...................................................................................................... 17
3.1.2 Mô tả bài toán ............................................................................................... 17
3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................................................... 18
3.2.1 Xây dựng các thực thể .................................................................................. 18
3.2.2 Mô hình thực thể mối kết hợp ...................................................................... 22
3.2.3 Mô hình dữ liệu vật lý (Physical Data Model - PDM) ................................. 28
3.2.4 Lƣợc đồ cơ sở dữ liệu quan hệ ..................................................................... 29
3.2.5 Sơ đồ chức năng ........................................................................................... 35
3.2.6 Sơ đồ Use Case ............................................................................................. 38
3.3 KẾT QUẢ ĐẠT ĐƢỢC ..................................................................................... 39
3.3.1 Về lý thuyết .................................................................................................. 39
3.3.2 Về chƣơng trình ............................................................................................ 39
3.4 HỆ THỐNG QUẢN LÝ CÁN BỘ KHOA KHOA HỌC TỰ NHIÊN .............. 40
3.4.1 Một số xử lý đặc biệt .................................................................................... 40
3.4.2 Hệ thống quản lý cán bộ ............................................................................... 42
3.5 HẠN CHẾ CÒN TỒN TẠI ................................................................................ 63
KẾT LUẬN VÀ ĐỀ NGHỊ ......................................................................................... 64
TÀI LIỆU THAM KHẢO........................................................................................... 65
PHỤ LỤC 1 .................................................................................................................. 66
PHỤ LỤC 2 .................................................................................................................. 68
PHỤ LỤC 3 .................................................................................................................. 69
PHỤ LỤC 4 .................................................................................................................. 76
ii
DANH MỤC HÌNH
DANH MỤC HÌNH
Hình 2.1 Mô hình MVC .................................................................................................. 5
Hình 2.2 Thứ tự xử lý trong mô hình MVC ................................................................... 6
Hình 2.3 Biểu tƣợng Zend Framework 2 ........................................................................ 8
Hình 2.4 Cách đặt tên cho view..................................................................................... 16
Hình 3.1 Mối kết hợp học vị nhân viên ......................................................................... 23
Hình 3.2 Mối kết hợp học hàm nhân viên ..................................................................... 23
Hình 3.3 Mối kết hợp chứng chỉ nhân viên ................................................................... 24
Hình 3.4 Mối kết hợp chức vụ nhân viên ...................................................................... 24
Hình 3.5 Mối kết hợp cố vấn học tập ............................................................................ 25
Hình 3.6 Mối kết hợp bậc lƣơng theo ngạch lƣơng....................................................... 25
Hình 3.7 Mối kết hợp hệ số lƣơng cán bộ ..................................................................... 26
Hình 3.8 Mô hình dữ liệu quan niệm ............................................................................ 26
Hình 3.9 Mô hình dữ liệu quan niệm (tt)....................................................................... 27
Hình 3.10 Mô hình dữ liệu vật lý .................................................................................. 28
Hình 3.11 Lƣợc đồ cơ sở dữ liệu quan hệ ..................................................................... 29
Hình 3.12 Sơ đồ chức năng tổng quát ........................................................................... 35
Hình 3.13 Sơ đồ chức năng nút Danh mục.................................................................... 36
Hình 3.14 Sơ đồ chức năng nút Quản lý ....................................................................... 36
Hình 3.15 Sơ đồ chức năng nút Tìm kiếm .................................................................... 36
Hình 3.16 Sơ đồ chức năng nút Thống kê ..................................................................... 37
Hình 3.17 Sơ đồ chức năng nút Tiện ích ....................................................................... 37
Hình 3.18 Sơ đồ use case của Actor Quản trị hệ thống ................................................. 38
Hình 3.19 Sơ đồ use case của Actor Cán bộ quản lý .................................................... 38
Hình 3.20 Sơ đồ use case của Actor Cán bộ sử dụng .................................................... 39
Hình 3.21 Form đăng nhập hệ thống ............................................................................. 42
Hình 3.22 Quản trị ngƣời dùng ..................................................................................... 43
Hình 3.23 Danh sách các loại danh mục ....................................................................... 44
Hình 3.24 Form sửa thông tin lớp chuyên ngành .......................................................... 45
Hình 3.25 Form thêm lớp chuyên ngành ....................................................................... 46
iii
DANH MỤC HÌNH
Hình 3.26 Danh sách cán bộ theo Bộ môn - Phòng ban. ............................................... 47
Hình 3.27 Thông tin chi tiết của cán bộ giảng dạy........................................................ 48
Hình 3.28 Thông chi chi tiết của cán bộ phòng ban. .................................................... 48
Hình 3.29 Chọn loại thông tin để cập nhật .................................................................... 49
Hình 3.30 Cập nhật thông tin nhân thân ....................................................................... 49
Hình 3.31 Chọn loại cán bộ cần thêm ........................................................................... 49
Hình 3.32 Thêm cán bộ giảng dạy................................................................................. 50
Hình 3.33 Xuất thông tin cán bộ ................................................................................... 51
Hình 3.34 Kết quả tìm cán bộ ........................................................................................ 52
Hình 3.35 Bổ nhiệm cố vấn học tập .............................................................................. 52
Hình 3.36 Chọn cán bộ làm cố vấn học tập ................................................................... 54
Hình 3.37 Quản lý cố vấn học tập ................................................................................. 55
Hình 3.38 Đổi cố vấn học tập ........................................................................................ 55
Hình 3.39 Quản lý nghỉ phép ........................................................................................ 58
Hình 3.40 Thêm ngày nghỉ phép ................................................................................... 58
Hình 3.41 Form chọn cán bộ nghỉ phép ........................................................................ 59
Hình 3.42 Cập nhật thông tin nghỉ phép........................................................................ 59
Hình 3.43 Thống kê cán bộ theo đơn vị ........................................................................ 60
Hình 3.44 Danh sách cán bộ thống kê theo đơn vị ........................................................ 60
Hình 3.45 Trang thông tin cán bộ .................................................................................. 61
Hình 3.46 Thông tin cá nhân của cán bộ ....................................................................... 61
Hình 3.47 Sửa thông tin cán bộ ..................................................................................... 62
iv
DANH MỤC BẢNG
DANH MỤC BẢNG
Bảng 2.1 Ý nghĩa của các thƣ mục trong ứng dụng ...................................................... 13
Bảng 3.1 Thuộc tính của thực thể bộ môn..................................................................... 18
Bảng 3.2 Thuộc tính của thực thể phòng ban ................................................................ 19
Bảng 3.3 Thuộc tính của thực thể nhân viên ................................................................. 19
Bảng 3.4 Thuộc tính của thực thể nhân thân ................................................................. 19
Bảng 3.5 Thuộc tính của thực thể học vị ....................................................................... 20
Bảng 3.6 Thuộc tính của thực thể học hàm ................................................................... 20
Bảng 3.7 Thuộc tính của thực thể chứng chỉ ................................................................. 20
Bảng 3.8 Thuộc tính của thực thể chức vụ .................................................................... 20
Bảng 3.9 Thuộc tính của thực thể dân tộc ..................................................................... 21
Bảng 3.10 Thuộc tính của thực thể tôn giáo .................................................................. 21
Bảng 3.11 Thuộc tính của thực thể tỉnh thành............................................................... 21
Bảng 3.12 Thuộc tính của thực thể quốc gia ................................................................. 21
Bảng 3.13 Thuộc tính của thực thể ngạch lƣơng ........................................................... 21
Bảng 3.14 Thuộc tính của thực thể bậc lƣơng ............................................................... 22
Bảng 3.15 Thuộc tính của thực thể lớp chuyên ngành .................................................. 22
Bảng 3.16 Thuộc tính của thực thể diện nhân viên ....................................................... 22
Bảng 3.17 Thuộc tính của thực thể nhóm quyền ........................................................... 22
Bảng 3.18 Xác định khóa học........................................................................................ 40
Bảng 3.19 Nguyên tắc xác định học kỳ niên khóa ........................................................ 41
v
TÓM TẮT
TÓM TẮT
Vấn đề quản lý và lƣu trữ thông tin nhân sự là một khâu quan trọng trong công
tác quản lý của bất kì cơ quan, tổ chức nào. Khoa Khoa học Tự nhiên, Trƣờng Đại học
Cần Thơ cũng không ngoại lệ. Cùng với sự phát triển vững mạnh từ khi thành lập đến
nay, số lƣợng đội ngũ cán bộ làm việc tại khoa ngày càng tăng lên, công tác quản lý
cán bộ càng đƣợc quan tâm chú trọng. Do đó, việc xây dựng một ứng dụng nhằm lƣu
trữ và quản lý thông tin của cán bộ là một yêu cần rất cần thiết. Bên cạnh đó, với sự
phát triển mạnh mẽ của công nghệ thông tin nhƣ hiện nay thì việc thiết kế các chƣơng
trình ứng dụng để giải quyết vấn đề này trở nên dễ dàng hơn. Trong đó, phát triển ứng
dụng trên môi trƣờng Internet là một xu hƣớng hàng đầu hiện nay bởi những tiện ích
mà nó mang lại trong việc truy cập và sử dụng hệ thống.
Website quản lý cán bộ Khoa Khoa học Tự nhiên đƣợc viết bằng ngôn ngữ PHP
trên nền tảng Zend Framework 2. Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL
và ứng dụng một số kỹ thuật hỗ trợ lập trình web nhƣ Ajax, jQuery,…
Sau khi hoàn thành, hệ thống có thể xử lý đƣợc các yêu cầu cơ bản nhƣ lƣu trữ và
cập nhật thông tin cán bộ, tìm kiếm, thống kê thông tin theo yêu cầu. Đồng thời, cũng
cho phép in và xuất các báo cáo. Hệ thống này sẽ giúp nâng cao hiệu quả quản lý
thông tin nhân sự tại Khoa Khoa học Tự nhiên, làm cho việc quản lý trở nên dễ dàng,
nhanh chóng và chính xác hơn.
Từ khóa: Khoa Khoa học Tự nhiên, quản lý cán bộ, mô hình MVC, Zend
Framework 2, PHP & MySQL.
Nội dung chính của luận văn gồm những phần sau đây:
Chương 1: Tổng quan. Chƣơng này trình bày các vấn đề tổng quan bao gồm: Đặt
vấn đề, lịch sử giải quyết vấn đề, phạm vi đề tài và phƣơng pháp thực hiện.
Chương 2: Cơ sở lý thuyết. Chƣơng này giới thiệu hai nội dung cơ bản là lý
thuyết về mô hình MVC và Zend Framework.
Chương 3: Nội dung và kết quả nghiên cứu. Chƣơng này tập trung trình bày bốn
nội dung chính. Thứ nhất là đặc tả hệ thống, mô tả quy trình quản lý thông tin nhân sự
tại Khoa Khoa học Tự nhiên. Thứ hai là kết quả phân tích và thiết kế hệ thống. Thứ ba
là giới thiệu về hệ thống thông tin quản lý cán bộ đƣợc xây dựng trên nền tảng Zend
Framework 2. Nội dung cuối cùng trình bày những hạn chế còn tồn tại trong chƣơng
trình.
Phần Kết luận, phần này trình bày những kết luận rút ra đƣợc từ quá trình nghiên
cứu và thực hiện luận văn.
vi
ABSTRACT
ABSTRACT
Managing human resource information is an important step in the management of
any agency or organization. The College of Natural Sciences (CNS) at Can Tho
University is no exception. With the strong growth since it’s establishment, the
number of employees in CNS has are increased quickly, the management of human
resources is more focused. Therefore, developing an application to store and manage
information of human resources becomes a necessary requirement. In addition, with
the strong development of information technology, designing an application programs
to solve this problem becomes easier. In particular, developing web-based application
is a top trend because the utility that it bring to us in access and using the system.
Website for human resource management of College of Natural Sciences is
wrote by PHP programming language, based on Zend Framework 2. Using MySQL
Database Management System and several of technical support for web application
programming such as Ajax, jQuery,...
After completing, this application can handle basic requirements, such as storage,
update, search and statistic information as required. In addition, it also allows printing
reports. This system helps us to improve the effect of management human resource
information at the College of Natural Sciences, make the management is more easier,
quickly and accurately.
Keyword: College of Natural Sciences, human resource management, MVC
model, Zend Framework 2, PHP & MySQL.
vii
Chƣơng 1: Tổng quan
CHƢƠNG 1: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Đƣợc thành lập từ năm 1998, Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần
Thơ giờ đây đã phát triển vững mạnh. Đi đôi với quá trình phát triển đó cũng nảy sinh
không ít vấn đề cần giải quyết, mà chủ yếu là ở công tác quản lý và lƣu trữ thông tin.
Có nhiều khía cạnh cần đƣợc quản lý nhƣ: công văn, phòng học, phòng thí nghiệm, thƣ
viện, sinh viên, cán bộ,… Đặc biệt, trong công tác quản lý cán bộ, sau một thời gian
hoạt động, số lƣợng đội ngũ cán bộ giảng dạy và làm việc tại khoa ngày càng tăng lên.
Do đó, khối lƣợng thông tin cần quản lý cũng tăng theo thời gian.
Ngày nay, công nghệ thông tin phát triển một cách nhanh chóng và đóng vai trò
quan trọng trong công tác quản lý thông tin của mọi cơ quan và tổ chức. Tại Khoa
Khoa học Tự nhiên, việc đƣa các ứng dụng công nghệ thông tin vào thực tiễn quản lý
cũng mang lại những lợi ích đáng kể so với việc quản lý một cách thủ công nhƣ trƣớc
kia. Tuy nhiên, vẫn gặp một số khó khăn nhất định do các ứng dụng này không thật sự
tƣơng thích với thực tế quản lý nhân sự tại khoa hiện nay. Việc sắp xếp, tìm kiếm cũng
nhƣ cập nhật thông tin cho cán bộ vẫn mất nhiều thời gian và công sức.
Bên cạnh đó, với sự phát triển mạnh mẽ của Internet, việc phát triển các ứng
dụng quản lý trên web ngày càng trở nên phổ biến hơn nhờ những tiện ích mà nó mang
lại. Cho phép ngƣời dùng tƣơng tác với hệ thống từ xa, giúp tiết kiệm thời gian, công
sức và nâng cao hiệu quả công việc.
Từ thực tế đó, việc phát triển một ứng dụng web để quản lý thông tin của cán bộ
tại Khoa Khoa học Tự nhiên trở nên rất cần thiết. Nhằm giải quyết vấn đề này, đề tài:
“Xây dựng hệ thống quản lý cán bộ Khoa Khoa học Tự nhiên bằng Zend
Framework 2” đƣợc thực hiện. Với mục tiêu góp phần làm cho việc quản lý và cập
nhật thông tin đƣợc nhanh chóng, chính xác, tiện lợi và tiết kiệm thời gian.
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Việc quản lý thông tin cán bộ tại Khoa Khoa học Tự nhiên đã đƣợc tin học hóa
bằng cách sử dụng các ứng dụng công nghệ thông tin. Mặc dù có thể đáp ứng một số
yêu cầu cơ bản nhƣ lƣu trữ và cập nhật dữ liệu nhƣng theo theo thời gian và sự phát
triển mạnh mẽ của công nghệ thông tin, những ứng dụng này đã bộc lộ một số hạn chế
nhất định do không thật sự tƣơng thích với hệ thống quản lý cán bộ hiện nay. Ngày
nay, các ứng dụng trên nền web cho phép ngƣời dùng tƣơng tác với hệ thống ở bất cứ
đâu, tại bất kỳ thời điểm nào một cách tiện lợi và nhanh chóng. Trong khi đó, ứng
dụng quản lý nhân sự hiện tại lại không đáp ứng đƣợc nhu cầu này.
Trang 1
Chƣơng 1: Tổng quan
Có nhiều lựa chọn để xây dựng một hệ thống quản lý thông tin cán bộ và đây
cũng không phải là một đề tài mới, nhƣng việc phát triển hệ thống này trên môi trƣờng
web và sử dụng thƣ viện Zend Framework 2 là một hƣớng tiếp cận mới, linh hoạt và
mang đến nhiều tiện ích hơn cả.
1.3 PHẠM VI ĐỀ TÀI
1.3.1 Phạm vi chức năng
Đề tài xây dựng một chƣơng trình để quản lý thông tin của cán bộ thuộc các bộ
môn và phòng ban trong Khoa Khoa học Tự nhiên. Cụ thể là thông tin cá nhân, liên hệ,
chuyên môn, chức vụ, thân nhân, đoàn thể, hệ số lƣơng, nghỉ phép, nghỉ hƣu, thôi việc,
cố vấn học tập cho lớp chuyên ngành (nếu đó là cán bộ giảng dạy),… đáp ứng các nhu
cầu cơ bản cho ngƣời sử dụng nhƣ: xem, cập nhật, tìm kiếm và thống kê thông tin.
Hệ thống đƣợc thiết kế nhằm phục vụ cho ba nhóm ngƣời dùng chính là quản trị
hệ thống, cán bộ quản lý và cán bộ sử dụng, ứng với mỗi nhóm ngƣời dùng là các chức
năng cụ thể.
Quản trị hệ thống
Ngƣời dùng thuộc nhóm quản trị hệ thống có thể thực hiện các công việc liên
quan đến quản lý danh sách ngƣời dùng. Các chức năng cho nhóm này bao gồm:
Xem danh sách ngƣời dùng theo từng nhóm quyền.
Gán hoặc thay đổi nhóm quyền sử dụng của những ngƣời dùng khác trong hệ
thống.
Cập nhật, cấp mật khẩu mới cho ngƣời sử dụng.
Cập nhật danh mục nhóm quyền.
Cán bộ quản lý
Ngƣời dùng thuộc nhóm cán bộ quản lý là ngƣời sẽ thực hiện các công việc liên
quan đến việc cập nhật hồ sơ cán bộ, bao gồm các chức năng cụ thể nhƣ:
Quản lý thông tin cán bộ: thêm cán bộ mới vào danh sách hoặc xóa thông tin
cán bộ khỏi hệ thống. Cập nhật thông tin cá nhân, thông tin liên hệ, trình độ
chuyên môn, chứng chỉ, hệ số lƣơng, nghỉ phép, nghỉ hƣu,…
Công tác cố vấn học tập: lƣu thông tin về cố vấn học tập của lớp chuyên
ngành, cập nhật lại thông tin nếu có thay đổi giáo viên cố vấn.
Thông tin chức vụ: cho phép lƣu trữ các thông tin liên quan đến chức vụ mà
cán bộ đang làm, cập nhật lại thông tin nếu có thay đổi trong quá trình làm
việc của cán bộ.
Trang 2
Chƣơng 1: Tổng quan
Thân nhân: quản lý thân nhân của cán bộ, gồm thêm mới và cập nhật lại thông
tin cho phù hợp.
Quản lý các danh mục: thêm, sửa, xóa thông tin trong các danh mục nhƣ lớp
chuyên ngành, bộ môn, phòng ban, ngạch lƣơng, bậc lƣơng,…
In, xuất báo cáo về thông tin cán bộ, danh sách cán bộ theo các tiêu chí cụ thể.
Cán bộ sử dụng
Cán bộ sử dụng hệ thống để xem thông tin cá nhân của mình và các thông tin có
liên quan khác nhƣ: hệ số lƣơng, quá trình làm việc (chức vụ, nghỉ phép, cố vấn học
tập),... Ngoài ra, cán bộ cũng có thể tự cập nhật các thông tin cá nhân cơ bản nếu thấy
có sai sót.
1.3.2 Phạm vi yêu cầu kỹ thuật
Trong quá trình sử dụng, hệ thống phải đảm bảo các yêu cầu nhƣ:
Chính xác, đảm bảo ràng buộc toàn vẹn dữ liệu.
An toàn và bảo mật thông tin hệ thống cũng nhƣ thông tin cá nhân của ngƣời
dùng.
Giao diện trực quan, thân thiện, giúp ngƣời dùng thao tác dễ dàng, nhanh
chóng.
Tốc độ truy xuất nhanh, linh hoạt.
1.4 PHƢƠNG PHÁP NGHIÊN CỨU
1.4.1 Về phƣơng pháp thu thập thông tin
Tìm hiểu quy trình quản lý thông tin cán bộ tại khoa thông qua quan sát thực tế
và từ giáo viên hƣớng dẫn. Dựa trên những thông tin đó, tiến hành phân tích, thiết kế
và xây dựng cơ sở dữ liệu cho đầy đủ, phù hợp với quy trình quản lý thông tin nhân sự
tại Khoa.
1.4.2 Về lý thuyết
Vận dụng kiến thức từ những học phần đã đƣợc học, đặc biệt là môn học Phân
tích và thiết kế hệ thống thông tin, Cơ sở dữ liệu và Hệ quản trị cơ sỡ dữ liệu, Xây
dựng ứng dụng web với PHP và MySQL để xây dựng mô hình cơ sở dữ liệu và lập
trình.
Đồng thời, tìm hiểu về Zend Framework 2 thông qua website chính thức tại địa
chỉ: http://www.framework.zend.com
Trang 3
Chƣơng 1: Tổng quan
1.4.3 Về công nghệ
Những công cụ đƣợc sử dụng để phát triển hệ thống trong phạm vi đề tài này
gồm có:
Công cụ mô hình hóa: Power Designer 15.1, MySQL Workbench
Công cụ lập trình: Zend Studio 10.0
Hệ quản trị cơ sở dữ liệu: MySQL 5.5.34
Web server: Apache 2.4.7
Trang 4
Chƣơng 2: Cơ sở lý thuyết
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 MÔ HÌNH MVC
Một ứng dụng web đƣợc xây dựng theo phƣơng pháp lập trình PHP thuần chỉ
thật sự đơn giản và phù hợp với các dự án có quy mô nhỏ, lập trình viên làm việc một
cách độc lập. Mã nguồn của những ứng dụng viết theo phƣơng pháp này thƣờng đặt
chung trong cùng một tập tin, gây khó khăn trong việc quản lý, kiểm tra lỗi.
Trƣờng hợp cần phát triển một ứng dụng có quy mô lớn, trong môi trƣờng làm
việc nhóm với số lƣợng nhân sự tham gia thay đổi theo thời gian thì sẽ gặp rất nhiều
khó khăn nếu lập trình theo phƣơng pháp này. Cụ thể, việc phân công việc cũng nhƣ
tập hợp các module sau khi hoàn thành rất khó khăn, ngƣời phát triển sau sẽ khó nắm
bắt và tiếp tục phát triển hệ thống. Đồng thời, việc mở rộng và nâng cấp hệ thống cũng
không hề dễ dàng.
Với những khó khăn nhƣ trên, mô hình MVC ra đời giúp khắc phục những hạn
chế của phƣơng pháp lập trình truyền thống, làm cho việc quản lý và phát triển ứng
dụng đƣợc thực hiện dễ dàng, tiết kiệm thời gian.
2.1.1 Lịch sử ra đời mô hình MVC
Mô hình MVC (Model-View-Controller) ra đời vào năm 1979 dựa trên ngôn ngữ
lập trình Smalltalk bởi Trygve Reenskaug, một nhà nghiên cứu tại phòng thí nghiệm
Xerox PARC ở Palo Alto.
Mô hình MVC giúp cho các lập trình viên có thể tách ứng dụng ra thành 3 phần
khác nhau, gồm Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng
biệt và độc lập với các thành phần khác.
2.1.2 Các thành phần trong mô hình
Hình 2.1 Mô hình MVC
Trang 5
Chƣơng 2: Cơ sở lý thuyết
Model (Tầng dữ liệu): Là một đối tƣợng hoặc một tập hợp các đối tƣợng biểu
diễn cho phần dữ liệu của chƣơng trình. Tất cả các nghiệp vụ logic đƣợc thực thi ở
Model. Dữ liệu vào từ ngƣời dùng sẽ thông qua View đến Controller và đƣợc kiểm tra
ở Model trƣớc khi lƣu vào cơ sở dữ liệu. Việc truy xuất, xác nhận và lƣu dữ liệu là một
phần của Model.
View (Tầng giao diện): Là phần giao diện với ngƣời dùng, bao gồm việc hiện dữ
liệu ra màn hình, cung cấp các menu, nút bấm, hộp thoại, chọn lựa,… để ngƣời dùng
có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu.
Controller (Tầng điều khiển): Là phần điều khiển của ứng dụng, điều hƣớng các
nhiệm vụ đến đúng phƣơng thức có chức năng xử lý nhiệm vụ đó. Nó chịu trách nhiệm
xử lý các tác động về mặt giao diện, các thao tác đối với model và cuối cùng là chọn
một view thích hợp để hiển thị ra màn hình.
2.1.3 Quy trình xử lý
Hình 2.2 Thứ tự xử lý trong mô hình MVC
Thứ tự xử lý sự kiện trong mô hình MVC đƣợc diễn ra nhƣ sau:
1. Controller nhận yêu cầu, phân tích các tham số.
2. Controller xử lý và trả kết quả lại cho View. Nếu có thao tác cần tính toán,
truy vấn hay cập nhật dữ liệu thì Controller sẽ điều hƣớng chúng đến
phƣơng thức xử lý phù hợp ở Model.
3. Model nhận thông tin và thực thi các yêu cầu, trả kết quả lại cho Controller.
4. Controller nhận kết quả từ Model và chuyển sang View.
5. View nhận các giá trị từ Controller, định dạng lại dữ liệu và trả về
Controller.
Trang 6
Chƣơng 2: Cơ sở lý thuyết
6. Controller nhận kết quả từ View, trả về cho cho ngƣời dùng để hiển thị trên
trình duyệt.
2.1.4 Ƣu, nhƣợc điểm của mô hình MVC
Ƣu điểm
Sử dụng mô hình MVC để phát triển ứng dụng: tiết kiệm thời gian, tận dụng
sức mạnh trong làm việc nhóm, giúp phân chia công việc cho các nhóm theo
chuyên môn khác nhau nhƣ: thiết kế giao diện, nhóm lập trình, nhóm viết các
hàm, tƣơng tác với dữ liệu,…
Bảo trì: với các lớp đƣợc phân chia rõ ràng, việc tìm kiếm và chỉnh sửa sẽ
nhanh chóng, linh hoạt, không làm ảnh hƣởng đến những thành phần khác.
Mở rộng: khi cần nâng cấp hệ thống, chỉ cần viết thêm các module và gắn vào
ứng dụng mà không làm ảnh hƣởng đến những phần đã có trƣớc đó.
Nhƣợc điểm
Với những dự án nhỏ, việc áp dụng mô hình MVC rất cồng kềnh, khá phức
tạp và tốn kém thời gian.
Tốn thời gian trung chuyển dữ liệu giữa các lớp, ảnh hƣởng đến tốc độ xử lý
của hệ thống khi sử dụng.
2.2 TỔNG QUAN VỀ FRAMEWORK
Framework đƣợc hiểu là một thƣ viện chứa các mã lệnh đƣợc xây dựng sẵn.
Framework cung cấp một bộ khung cơ bản cho lập trình viên với nội dung đầy đủ, đáp
ứng các điều kiện cần và đủ cho việc xây dựng một ứng dụng.
Ngày nay, các ứng dụng web trở nên rất phổ biến. Ngôn ngữ lập trình web đƣợc
ƣa chuộng nhất chính là PHP bởi sự mạnh mẽ và linh hoạt của nó. Các framework ra
đời để hỗ trợ cho các ứng dụng viết bằng ngôn ngữ này gọi chung là PHP framework.
Việc sử dụng framework để phát triển các ứng dụng trở nên rất phổ biến bởi
những lợi ích to lớn mà nó mang lại.
Tăng tốc trong quá trình xây dựng hệ thống: với các lớp đƣợc xây dựng sẵn,
framework là một công cụ đắc lực của lập trình viên. Framework cung cấp
cho ngƣời phát triển ứng dụng các hàm, các công cụ cần thiết và đầy đủ để có
thể phát triển một ứng dụng hoàn chỉnh, qua đó, giúp tiết kiệm thời gian viết
mã lệnh.
Quản lý mã lệnh dễ dàng: khi xây dựng một ứng dụng theo một framework
nào đó, chúng ta phải tuân theo cách tổ chức, sắp xếp các thƣ mục theo quy
định của framework đó. Điều này giúp cho mọi thứ đƣợc phát triển theo một
cấu trúc nhất quán, rõ ràng.
Trang 7
Chƣơng 2: Cơ sở lý thuyết
Cộng đồng phát triển rộng lớn: phần lớn các framework hiện nay đều có một
cộng đồng sử dụng rất lớn. Do đó, việc phản hồi thông tin và cập nhật cho các
framework diễn ra liên tục. Các chức năng cần thiết cho ứng dụng ngày càng
đầy đủ và hoàn thiện hơn.
Bên cạnh những lợi ích nhƣ trên, việc sử dụng framework để phát triển ứng dụng
cũng gặp một số khó khăn:
Hầu hết các PHP framework đều đƣợc xây dựng theo mô hình MVC, vì vậy
việc sử dụng framework sẽ trở nên cồng kềnh, phức tạp trong trƣờng hợp xây
dựng những ứng dụng quy mô nhỏ. Do đó, cần phải cân nhắc, lựa chọn một
framework thích hợp.
Các framework ngày càng đƣợc bổ sung và hoàn thiện với các thƣ viện sẵn
có. Điều này mang đến sự tiện lợi nhƣng cũng làm cho lập trình viên ngày
càng bị phụ thuộc vào framework đó.
2.3 ZEND FRAMEWORK
2.3.1 Tổng quan
Hình 2.3 Biểu tƣợng Zend Framework 2
Zend Framework 2 là một thƣ viện mã nguồn mở để phát triển các ứng dụng và
các dịch vụ web sử dụng ngôn ngữ PHP 5.3+. Zend Framework 2 sử dụng 100% code
hƣớng đối tƣợng. Đây là một PHP framework đang rất đƣợc ƣa chuộng, đƣợc đánh giá
là một trong những framework mạnh mẽ và đầy đủ nhất hiện nay.
Mặc dù ra mắt khá trễ so với những PHP Framework khác, nhƣng từ lúc ra mắt
đến nay, Zend Framework không ngừng phát triển và hoàn thiện. Thƣ viện này luôn
đƣợc bổ sung và ngày càng ổn định, các lớp trong thƣ viện rất đầy đủ, đa dạng, cho
phép xây dựng một ứng dụng web nhanh chóng và chính xác. Hiện nay, phiên bản
Zend Framework mới nhất là 2.3.1 (cập nhật vào ngày 15/04/2014).
Trang 8
Chƣơng 2: Cơ sở lý thuyết
2.3.2 Lý do chọn Zend Framework
Kể từ lần đầu tiên đƣợc giới thiệu (năm 2005) đến nay, Zend Framework đã trải
qua một quá trình phát triển liên tục, đều đặn. Các tính năng không ngừng đƣợc hoàn
thiện đã làm cho Zend Framework trở thành một trong những PHP framework mạnh
mẽ và đƣợc tin dùng nhiều nhất hiện nay. Bên cạnh đó, việc lựa chọn Zend Framework
trong đề tài này phải kể đến một số lý do nhƣ:
Nâng cấp và phát triển hệ thống: do đƣợc xây dựng trên nền tảng hƣớng đối
tƣợng nên việc nâng cấp, mở rộng hệ thống có thể đƣợc thực hiện dễ dàng.
Thƣ viện Zend Framework đầy đủ, phong phú, luôn đƣợc cập nhật và hoàn
thiện bởi các chuyên gia nổi tiếng về mã nguồn mở và PHP, giúp cho việc
phát triển ứng dụng đƣợc thực hiện nhanh chóng, chính xác.
Tính bảo mật của ứng dụng đảm bảo hơn so với các ứng dụng viết bằng PHP
thuần.
Tài liệu hƣớng dẫn chi tiết, cộng đồng ngƣời sử dụng rất rộng lớn, các diễn
đàn về Zend Framework có rất nhiều, thuận lợi trong việc tìm kiếm thông tin.
Khó khăn khi sử dụng Zend Framework 2
Do thƣ viện Zend Framework 2 quá rộng lớn, nên việc tìm hiểu và làm chủ
đƣợc nó trong một thời gian ngắn không phải là điều dễ dàng.
Lập trình với Zend Framework 2 đòi hỏi lập trình viên phải có khái niệm về
mô hình MVC, kiến thức PHP 5.x.
Việc đọc hiểu và xử lý lỗi phát sinh trong quá trình xây dựng ứng dụng cũng
đòi hỏi nhiều kinh nghiệm từ lập trình viên.
Ngoài ra, lập trình Zend Framework cũng đòi hỏi ngƣời lập trình phải có kỹ
năng sử dụng và xử lý dữ liệu kiểu mảng.
2.3.3 Các lớp phổ biến trong Zend Framework 2
Các lớp trong Zend Framework 2 đƣợc luôn đƣợc phát triển và không ngừng
hoàn thiện, đáp ứng nhu cầu xây dựng một ứng dụng web nhanh chóng, mạnh mẽ hơn.
Trong đó, các lớp phổ biến nhất là:
Zend\Db: cung cấp cách thức giao tiếp với dữ liệu trong cơ sở dữ liệu. Trong đó,
có các lớp con với các chức năng cụ thể:
Zend\Db\Sql: để xây dựng các câu truy vấn dữ liệu từ cơ sở dữ liệu. Ví dụ:
+ Mệnh đề Where:
Trong MySQL:
Select manv, holot, ten
From nhanvien
Where mabomon = 'KH5'
Trang 9
Chƣơng 2: Cơ sở lý thuyết
Trong Zend Framework:
use Zend\Db\Sql\Select;
$select = new Select();
$select ->from('nhanvien')
->columns(array(
'MaNV' => 'manv',
'HoLot' => 'holot',
'Ten' => 'ten'
))
->where(array('mabomon' => 'KH5'));
+ Mệnh đề Join:
Trong MySQL:
Select nhanvien.manv, holot, ten, tenhocham
From hochamnv join hocham on hocham.mahocham = hochamnv.mahocham
right join nhanvien on nhanvien.manv = hochamnv.manv
Where mabomon = 'KH1'
Trong Zend Framework 2:
use Zend\Db\Sql\Select;
$select = new Select();
$select -> from('hochamnv')
-> columns(array(
'MaNV' => 'manv',
'HoLot' => 'holot',
'Ten' => 'ten',
'TenHH' => 'tenhocham'
))
->join('hocham','hocham.mahocham = hochamnv.mahocham')
->join('nhanvien','nhanvien.manv = hochamnv.manv',
array('*'), 'right')
->where(array('mabomon' => 'KH1'));
+ Hàm Count:
Trong MySQL:
Select tenhocvi, count(nhanvien.manv) as soluong
From nhanvien, hocvinv, hocvi
Where nhanvien.manv = hocvinv.manv
and hocvi.mahocvi = hocvinv.mahocvi
and mabomon = 'KH5'
Group by hocvi.mahocvi
Trong Zend Framework 2:
use Zend\Db\Sql\Select;
use Zend\Db\Sql\Expression;
$select = new Select();
$select->from('hocvinv')
->columns(array(
'TenHV' => 'tenhocvi'
'soluong' => new Expression('count(hocvinv.manv)')
))
->join('hocvi', 'hocvi.mahocvi = hocvinv.mahocvi')
Trang 10
- Xem thêm -