LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành và sâu sắc nhất đến
thầy
Trần Mạnh Tuấn, người đã tận tình chỉ bảo và hướng dẫn em trong
suốt quá trình học tập và thực hiện đồ án tốt nghiệp. Thầy đã giúp đỡ, dạy
bảo em không chỉ về mặt kiến thức, mà còn là những kỹ năng để học tập và
làm việc. Đó là những bài học kinh nghiệm quý báu sẽ đồng hành cùng em
trên suốt chặng đường học tập, nghiên cứu và làm việc sau này.
Em xin được gửi lời cảm ơn đến các thầy cô giáo của trường Đại học
Công nghệ Thông tin và Truyền thông Thái nguyên đã giảng dạy, truyền
đạt cho em những kiến thức tốt nhất, những kỹ năng sống. Đó là nền tảng
để em vững bước trên chặng đường sau này của mình.
Thực hiện tốt đồ án lần này còn có sự trợ giúp của các anh chị
trong công ty TNHH Phần mềm 2NF (2NF Software Co., LTD). Đặc biệt
được sự chỉ dẫn của anh Nguyễn Bảo Ngọc trong quá trình làm thực tập tốt
nghiệp. Nó đã tạo tiền đề cho lần thực hiện đề tài đồ án lần này.
Cuối cùng em xin gửi lời cảm ơn tới bố mẹ, gia đình, bạn bè, những
người đã luôn bên cạnh em trong mọi hoàn cảnh, tạo cho em những điều
kiện tốt nhất để em có thể phát huy, tìm hiểu những đam mê, sở thích của
mình trong các lĩnh vực.
Thái Nguyên, tháng 6 năm 2016
Người thực
hiện
Lê Văn Diện
1
DANH MỤC HÌNH ẢNH v
LỜI MỞ ĐẦU
1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
3
1.1. Ngôn ngữ lập trình PHP 3
1.2. Framework Code Igniter 9
1.3. WebServer và Xampp
1.4. Bootstrap
26
27
1.5. Ajax 28
1.6. Jquery
30
CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ERP – MODULE QUẢN
LÝ SƠ YẾU LÝ LỊCH ỨNG VIÊN VÀ QUY TRÌNH TUYỂN DỤNG
34
2.1. Xác định yêu cầu của website 34
2.2. Các phương pháp phân tích hệ thống và sơ đồ chức năng của
3.2.2. Cài đặt 47
3.2.3. Cấu trúc
48
3.2.4. Loại bỏ chuỗi index.php trong URL
50
3.3. Cài đặt Bootstrap và tạo mockup cho webssite
3.3.1. Cài đặt Bootstrap
51
51
3.3.2.Tạo mockup cho website
52
CHƯƠNG 4 : GIỚI THIỆU WEBSITE QUẢN LÝ QUY TRÌNH TUYỂN
DỤNG CHO CÔNG TY TNHH 2NF
53
4.1. Giao diện chính của website: 53
4.2. Giao diện một số chức năng của webssite: 57
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Hình 3.5: Mở trang điều khiển chính
47
Hình 3.6: Cấu trúc của codeigniter48
Hình 3.7: Thư mục application
49
Hình 3.8: File config.php 49
Hình 3.9: File database.ph 50
Hình 3.10: Cấu trúc của bootstrap 51
Hình 3.11: File index.html 51
Hình 3.12: Mockup header 52
Hình 3.13: Mockup footer 52
Hình 4.1: Giao diện trang chính
53
Hình 4.2: Giao diện trang Lists Skills
54
Hình 4.3: Giao diện trang Lists Entry Test
55
Hình 4.4: Giao diện trang Listing Account
Hình 4.14: Giao diện tìm kiếm bài kiểm tra
61
Hình 4.15: Giao diện sửa thông tin user 62
Hình 4.15: Giao diện thay đổi mật khẩu user
62
LỜI MỞ ĐẦU
Công nghệ thông tin đã có những bước phát triển mạnh mẽ. Máy tính
điện tử không còn là phương tiện quý hiếm mà đang ngày một gần gũi với
con người.
Đứng trước sự bùng nổ thông tin, các tổ chức và các doanh nghiệp
đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình
nhằm tin học hóa các hoạt động tác nghiệp của đơn vị mình.
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 để tạo ra ngày càng nhiều sản phẩm cho xã hội. Các công ty luôn
luôn phát triển, các hồ sơ tuyển vào sẽ nhiều lên vì vậy đòi hỏi phải cần rất
nhiều những kho chứa hồ sơ để lưu trữ hồ sơ của nhân viên khi vào công
ty. Để giảm đi những bất cập trong công tác quản lý nhân sự và lương trong
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 hoá 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ả.
Lưu trữ hồ sơ của ứng viên tìm việc là việc cất giữ lại hồ sơ của các
ứng viên để tra cứu khi cần thiết. Hồ sơ của ứng viên tìm việc được xem là
những thông tin liên quan đến một cá nhân. Thông tin của từng ứng viên có
7
quý thầy cô trong khoa có thể tạo điều kiện giúp đỡ em hoàn thành đồ án
tốt hơn.
Website quản lý quy trình tuyển dụng cho công ty TNHH 2NF của em
được lập trình bằng ngôn ngữ lập trình PHP sử dụng công nghệ
Framework Code Igniter và kết nối bằng cơ sở SQL, website giúp công ty
quản lý hồ sơ ứng 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.
Nhằm giới hạn phạm vi nghiên cứu theo như mục đích đã đề ra, đề
tài tập trung xem xét, phân tích đánh giá các vấn đề nằm trong phạm vi sau:
Trang Web quản lý hồ sơ ứng viên cho công ty doanh nghiệp.
Ngôn ngữ sử dụng là ngôn ngữ PHP.
Công nghệ sử dụng là công nghệ: Bootstrap, Framework
Code Igniter, AJAX, Jquery, XAMPP
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Ngôn ngữ lập trình PHP
Định nghĩa
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ
8
lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển
các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng
quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp
giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn
hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một
hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán
khác.Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa
bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên
PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết
tắt hồi quy của "PHP: Hypertext Preprocessor".
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời
gian 9 tháng được cộng đồng kiểm nghiệm.
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công
bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần
lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng
phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Một động cơ mới, có
tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã
đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu
tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và
đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công
bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc
10
độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu
khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc
HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử
dụng nhập 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.
PHP 5
Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể được dùng để thông
báo bắt đầu đoạn mã PHP, là . Những thẻ này thường xuyên được sử dụng, tuy nhiên giống
với những thẻ kiểu ASP (
Mô tả
Ví dụ
Phép cộng
+
Cộng hai số
$a + $b
hạng
Phép trừ
-
Trừ hai số hạng
$a - $b
Phép nhân
*
Nhân hai số
$a * b
Mô tả
Ví dụ
So sánh bằng
==
Hai số hạng
$a == $b
bằng nhau
So sánh khác
!=
Hai số hạng
$a != $b
khác nhau
So sánh lớn
>
So sánh lớn
hơn
So sánh nhỏ
$a $b && $a
thoả mãn điều
> $c
kiện
nhau làm cho các ứng dụng khó khăn hơn để điều hướng.
Định nghĩa
CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng
ngôn ngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc). Phiên bản đầu tiên
17
được phát hành ngày 28.02.2006, phiên bản hiện tại: 1.7.2 (phát hành ngày
11.09.2009). Ý tưởng xây dựng CodeIgniter được dựa trên Ruby on Rails,
một nền tảng ứng dụng web được viết bằng ngôn ngữ Ruby. Hiện tại,
CodeIgniter đang được phát triển bởi ExpressionEngine Development
Team thuộc EllisLab, Inc.
Ưu điểm
Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC
giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business
logic) của một phần mềm thành những thành phần độc lập, từ đó giúp cho
việc thiết kế, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng
mở rộng của phần mềm. CodeIgniter vận dụng mô hình này trong thiết kế,
giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao
khả năng quản lý và dễ bảo trì.
Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide).
So với các PHP framework khác như CakePHP (1.3MB), Symfony
(5.08MB) hay Zend Framework (5.66MB)…kích thước của CodeIgniter giúp
giảm thiểu đáng kể không gian lưu trữ.
Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc
độ nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache),
kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số
lần truy cập và xử lý dữ liệu, từ đó tối ưu hóa tốc độ tải trang.
Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD
mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã
Chưa hỗ trợ một số module thông dụng: So sánh với framework
khác, CodeIgniter không có các module thực thi một số tác vụ thường gặp
trong quá trình xây dựng ứng dụng web như Chứng thực người dùng (User
Authorization), Trình phân tích RSS (RSS Parser) hay Trình xử lý PDF…
Chưa
hỗ
trợ
Event-Driven
Programming:
Event-Driven
Programming (EDP) là một nguyên lý lập trình, trong đó các luồng xử lý của
hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn
phím…Đây không phải là một khuyết điểm to lớn của CodeIgniter vì hiện
tại, chỉ có một số ít framework hỗ trợ EDP, bao gồm Prado, QPHP và Yii.
Chưa hỗ trợ Object-Relational Mapping (ORM) : ORM là một kỹ
thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các
đối tượng trong lập trình. Kỹ thuật này giúp cho việc thực hiện các thao tác
trong cơ sở dữ liệu (Create Read UpdateDelete – CRUD) dễ dàng, mã
nguồn ngắn gọn hơn.
Mô hình Model-View-Controller
Model-View-Control (MVC) là một kiến trúc phần mềm, hiện đang được
xem là một mẫu thiết kế trong công nghệ phần mềm. Mô hình MVC tách
biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra
và bảo trì các thành phần một cách độc lập.
của thực thể đó, ta có thể gọi đến thư viện database để thực hiện các thao
tác với cơ sở dữ liệu. Tuy nhiên, để tiện cho việc quản lý, xây dựng lớp
model cho một thực thể được khuyến khích. Một lớp model chuẩn trong
CodeIgniter có cấu trúc như sau:
Khi khai báo một lớp model, ta cần tuân theo một số quy tắc:
22
Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết thường. Ví dụ:
User_model, Blog_model, Article_model…
Tên tập tin được đặt như tên lớp,và được đặt trong thư mục:
application/models/. Các thư mục có thể được lưu lồng với nhau để
thuận tiện cho việc quản lý.
Bắt buộc phải kế thừa từ lớp CI_Model. Trong hàm tạo của lớp con,
phải gọi đến hàm tạo của lớp cha.
Để sử dụng model trong controller, ta sử dụng đoạn mã sau :
Trong đó, model_name là tên của lớp model. Nếu lớp model được lưu
trong một thư mục, ta cần ghi rõ đường dẫn đến thư mục đó. Ví dụ lớp
Blog_model
được
lưu
trong
thư
Ví
dụ
tập
tin
header.tpl.php
được
lưu
trong
thư
mục
application/views/front_end.
Để hiển thị view này, ta sử dụng đoạn mã sau:
CodeIgniter cho phép sử dụng nhiều view trong cùng một phương thức
của controller. Dữ liệu trong các view sẽ được kết hợp lại với nhau. Ví dụ:
24