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

WEBSITE QUẢN LÝ XE DỊCH VỤ - Full 10 điểm

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.79 MB, 72 trang )

UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA: CÔNG NGHỆ THÔNG TIN

----------

NGUYỄN PHÚ HIỂN
WEBSITE QUẢN LÝ XE DỊCH VỤ

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 04 năm 2017

UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA: CÔNG NGHỆ THÔNG TIN

---------

KHÓA LUẬN TỐT NGHIỆP

Tên đề tài:

WEBSITE QUẢN LÝ XE DỊCH VỤ

Sinh viên thực hiện:
NGUYỄN PHÚ HIỂN

MSSV: 2113021011

CHUYÊN NGÀNH


CÔNG NGHỆ THÔNG TIN

KHÓA: 2013 – 2017

Cán bộ hướng dẫn
ThS. HỒ HỮU LINH

Quảng Nam, ngày 14 tháng 04 năm 2017

LỜI MỞ ĐẦU

Ngày nay, công nghệ thông tin nói chung, tin học nói riêng đã đóng góp một
vai trò quan trọng trong đời sống con người. Các thành tựu về công nghệ thông tin
đã, đang và sẽ được ứng dụng, phát triển trong tất cả các lĩnh vực trong xã hội.

Nếu như trước đây, máy tính chỉ được sử dụng cho nghiên cứu khoa học - kỹ
thuật, thì ngày nay nó đã ứng dụng cho nhiều mục đích khác nhau như: Quản lý, lưu
trữ dữ liệu, giải trí, điều khiển tự động, tham gia trực tuyến. Như vậy, công nghệ
thông tin đã trở thành một công cụ quản lý cho toàn bộ hệ thống xã hội. Những năm
gần đây, ở nước ta tin học đã ứng dụng rộng rãi trong lĩnh vực kinh tế. Việc ứng
dụng phần mềm quản lý trong các hệ thống thông tin đã trợ giúp rất nhiều cho các
nhà quản lý. Hệ thống thông tin quản lý cho thuê “xe dịch vụ du lịch” đã giúp ích
cho khâu quản lý, khâu tìm kiếm và cập nhật thơng tin, đảm bảo khoa học chính xác
và nhanh chóng. Khố luận giới thiệu về phương pháp phân tích thiết kế hướng đối
tượng đồng thời tìm hiểu hiện trạng, nghiên cứu hệ thống quản lý cho thuê xe dịch
vụ du lịch của công ty TNHH MTV Dịch vụ Du lịch Tam Kỳ. Tìm hiểu việc xây
dựng ứng dụng quản lý bằng mơ hình đa tầng và áp dụng phương pháp phân tích
thiết kế hướng đối tượng để giải quyết bài toán này.

Xin chân thành cảm ơn thầy giáo Hồ Hữu Linh đã tận tình hướng dẫn tôi trong

q trình hướng dẫn thực tập cũng như hồn thành khóa luận tốt nghiệp!

MỤC LỤC

LỜI MỞ ĐẦU ...................................................................................................... 1
MỤC LỤC ............................................................................................................ 4
DANH MỤC CÁC HÌNH ẢNH ......................................................................... 8
DANH MỤC CÁC BẢNG ................................................................................ 10
PHẦN 1. MỞ ĐẦU .............................................................................................. 1

1.1. Lý do chọn đề tài ...................................................................................... 1
1.2. Mục tiêu của đề tài................................................................................... 2
1.3. Đối tượng và phạm vi nghiên cứu .......................................................... 2
1.4. Phương pháp nghiên cứu ........................................................................ 2
1.5. Đóng góp của đề tài.................................................................................. 2
1.6. Cấu trúc đề tài.......................................................................................... 3
PHẦN 2. NỘI DUNG .......................................................................................... 4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .................................................................. 4
1.1. Ngôn ngữ lập trình ASP.net ..................................................................... 4
1.2. Hệ quản trị cơ sở dữ liệu SQL server ..................................................... 8
1.3. Ngôn ngữ lập trình PHP ........................................................................... 9
1.4. Cơng cụ notepad++ ................................................................................. 14
1.5. Công cụ XamPP ...................................................................................... 15
1.6. Ngôn ngữ HTML .................................................................................... 15
1.7. Ngôn ngữ CSS ......................................................................................... 16
1.8. Ngôn ngữ Javascrip ................................................................................ 17
1.9. Giới thiệu về MySQL.............................................................................. 17
1.10. Mơ hình đa tầng .................................................................................... 19
1.11. Kết chương ............................................................................................ 24
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................ 25

2.1. Khảo sát hiện trạng và xác lập dự án ................................................... 25

2.1.1. Khảo sát hiện trạng ........................................................................... 25
2.1.1.1. Nhiệm vụ chung của hệ thống quản lý xe ........................................... 25
2.1.1.2. Cơ cấu tổ chức xe dịch vụ Tam Kỳ....................................................... 25

2.1.1.3. Quy trình xử lý ...................................................................................... 25
2.1.2. Xác lập dự án..................................................................................... 26

2.1.2.1. Hạn chế của hệ thống hiện tại ............................................................. 26
2.1.2.2. Yêu cầu (mục tiêu) của hệ thống mới .................................................. 26
2.1.2.3 Các giải pháp và tính khả thi................................................................. 27

2.2. Xây dựng chức năng của hệ thống ........................................................ 27
2.2.1. Các tác nhân của hệ thống ............................................................... 27
2.2.2. Các quy tắc của hệ thống .................................................................. 27
2.2.3. Xác định các UC ................................................................................ 28
2.2.4. Định nghĩa bài toán .......................................................................... 29
2.2.5. Các Actor trong bài tốn quản lý xe dịch vụ cơng ty dịch vụ du lịch
Tam Kỳ ......................................................................................................... 29
2.2.6. Các Usercase...................................................................................... 30
2.2.7. Mô tả các UC ..................................................................................... 30

2.3. Biểu đồ UC............................................................................................... 31
2.3.1. UC hệ thống ....................................................................................... 31
2.3.2. UC đặt xe............................................................................................ 32
2.3.3. UC đăng nhập.................................................................................... 32
2.3.4. UC quản lý nhân viên ....................................................................... 33
2.3.5. UC quản lý xe .................................................................................... 33
2.3.6. UC quản lý tuyến đường ................................................................... 34

2.3.7. UC quản lý giá ................................................................................... 34
2.3.8. UC quản lý đặt xe .............................................................................. 35
2.3.9. UC Thống kê...................................................................................... 35

2.4. Biểu đồ tuần tự ........................................................................................ 36
2.4.1. Biểu đồ tuần tự chức năng đặt xe .................................................... 36
2.4.2. Biểu đồ tuần tự chức năng đăng nhập............................................. 36
2.4.3. Biểu đồ tuần tự chức năng quản lý đặt xe ....................................... 37
2.4.4. Biểu đồ tuần tự chức năng thống kê ................................................ 37

2.5. Biểu đồ lớp ............................................................................................... 38

2.6. Cơ sở dữ liệu............................................................................................ 39
2.6.1. Bảng đăng nhập ................................................................................ 39
2.6.2. Bảng nhân viên.................................................................................. 39
2.6.3. Bảng xe .............................................................................................. 39
2.6.4. Bảng tuyến đường ............................................................................. 40
2.6.5. Bảng giá ............................................................................................. 40
2.6.6. Bảng chi tiết đặt xe ............................................................................ 40
2.6.7. Bảng thông tin đặt xe ........................................................................ 41
2.6.8. Bảng chi tiết đặt xe ............................................................................ 41

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG......................................................... 42
3.1. Giao diện trang chủ ................................................................................ 42
3.2. Giao diện trang đặt xe ............................................................................ 43
3.3. Giao diện trang thông tin về công ty..................................................... 44
3.4. Giao diện trang quản lý nhân viên........................................................ 45
3.5. Giao diện trang quản lý xe ..................................................................... 45
3.6. Giao diện trang quản lý tuyến đường ................................................... 46
3.7. Giao diện trang quản lý giá.................................................................... 46

3.8. Giao diện trang quản lý đặt xe .............................................................. 47

3.9. Giao diện trang thống kê ........................................................................... 47
3.10. Giao diện hợp đồng............................................................................... 48
3.11. Giao diện hóa đơn thanh tốn ............................................................. 49

PHẦN 3. PHẦN KẾT LUẬN VÀ KIẾN NGHỊ ............................................. 50
1. Đánh giá kết quả đã thực hiện .............................................................. 50
2. Hạn chế.................................................................................................... 50
3. Hướng phát triển của đề tài .................................................................. 50

PHẦN 4. T̀AI LIỆU THAM KH̉AO................................................................ 51
Tài liệu............................................................................................................. 51
Website............................................................................................................ 51

PHỤ LỤC ........................................................................................................... 52
1. Đặt xe (Phần này giành cho khách hàng) ............................................ 52

2. Xác nhận đặt xe (Phần này dành cho người quản lý) ........................ 55
3. Thống kê (Phần này dành cho người quản lý) .................................... 59

DANH MỤC CÁC HÌNH ẢNH

Hình 1: Giới thiệu về ngơn ngữ ASP.net............................................................... 5
Hình 2: Giới thiệu PHP Framework CodeIgniter ................................................ 6
Hình 3: Cú pháp của ngơn ngữ PHP .................................................................... 9
Hình 4: Mơ hình MVC......................................................................................... 20
Hình 5: Quy trình hoạt động của một dự án website.......................................... 21
Hình 6: Mơ hình MVC trong một dự ác website ................................................. 22
Hình 7:Cơ cấu tổ chức hệ thống quản lý xe........................................................ 25

Hı̀nh 8: Uc hệ thớng ............................................................................................ 31
Hình 9: UC đặt xe ............................................................................................... 32
Hình 10: UC đăng nhập ...................................................................................... 32
Hình 11: UC quản lý nhân viên .......................................................................... 33
Hình 12: UC quản lý xe....................................................................................... 33
Hình 13: UC quản lý tuyến đường ...................................................................... 34
Hình 14: UC quản lý giá ..................................................................................... 34
Hình 15: UC quản lý đặt xe ................................................................................ 35
Hình 16: UC thống kê ......................................................................................... 35
Hình 17: Biểu đồ tuần tự chức năng đặt xe ........................................................ 36
Hình 18: Biểu đồ tuần tự chức năng đăng nhập ................................................. 36
Hình 19: Biểu đồ tuần tự chức năng quản lý đặt xe ........................................... 37
Hình 20: Biểu đồ tuần tự chức năng thống kê .................................................... 37
Hình 21: Biểu đồ lớp hệ thống ............................................................................ 38
Hình 22: Giao diện trang chủ ............................................................................. 42
Hình 23: Giao diện trang đặt xe ......................................................................... 43
Hình 24: Giao diện trang thơng tin cơng ty........................................................ 44
Hình 25: Giao diện trang quản lý nhân viên ...................................................... 45
Hình 26: Giao diện trang quản lý xe .................................................................. 45
Hình 27: Giao diện trang quản lý tuyến đường .................................................. 46
Hình 28: Giao diện trang quản lý giá................................................................. 46
Hình 29: Giao diện trang quản lý đặt xe ............................................................ 47

Hình 30: Giao diện trang thống kê ..................................................................... 47
Hình 31: Giao diện trang hợp đồng.................................................................... 48
Hình 32: Giao diện hóa đơn ............................................................................... 49

DANH MỤC CÁC BẢNG

Bảng 1: Bảng chức năng đặt xe trực tuyến của khách hàng .............................. 27

Bảng 2: Bảng chức năng đăng nhập................................................................... 28
Bảng 3: Bảng chức năng quản lý ........................................................................ 28
Bảng 4: Bảng chức năng Thống kê ..................................................................... 28
Bảng 5: Bảng xác định các UC........................................................................... 28
Bảng 6: Bảng đăng nhập..................................................................................... 39
Bảng 7: Bảng nhân viên ...................................................................................... 39
Bảng 8: Bảng xe .................................................................................................. 39
Bảng 9: Bảng tuyến đường.................................................................................. 40
Bảng 10: Bảng giá .............................................................................................. 40
Bảng 12: Bảng chi tiết đặt xe .............................................................................. 40
Bảng 11: Bảng thông tin đặt xe .......................................................................... 41
Bảng 12: Bảng chi tiết đặt xe .............................................................................. 41

DANH MỤC CÁC TỪ VIẾT TẮT

STT TỪ VIẾT TẮT DIỄN GIẢI
Cơ sở dữ liệu
01 CSDL Hệ quản trị cơ sở dữ liệu
PHP Hypertext Preprocessor
02 HQTCSDL Hyper Text Markup

03 PHP Language
Cascading Style Sheets
04 HTML
Use case
05 CSS Active Server Page
Structured Query Language
06 UC

07 ASP


08 SQL

PHẦN 1. MỞ ĐẦU

1.1. Lý do chọn đề tài
Quá trình phát triển đô thị ở nước ta đang diễn ra mạnh mẽ trên mọi lĩnh

vực kinh tế xã hội và đời sống nhân dân được nâng cao, và trong đó nhu cầu đi
lại của người dân bằng xe dịch vụ tăng lên nhanh chóng dẫn đến sự thành lập
các cơng ty xe dịch vụ ngày càng nhiều. Tuy nhiên, trong cách quản lý của một
số công ty xe dịch vụ hiện nay vẫn là ghi chép bằng sổ sách rất bất tiện, khó
quản lý, tốn nhiều thời gian, đơi lúc thiếu sự chính xác và khó khăn trong việc
thống kê. Dựa vào thực tế đó, ta thấy rằng để quản lý các quy trình làm việc, đặt
biệt là vấn đề đặt xe và chăm sóc khách hàng rất cần thiết phải thay đổi theo một
cách mới mẻ, khoa học hơn.

Từ đó, việc đưa thơng tin đáp ứng nhu cầu của khách hàng và hỗ trợ cho
việc đặt xe là khơng thể thiếu. Thay vì trước đây khi muốn đi đâu đó, khách
hàng dù ở xa hay gần cũng phải đến tận nơi làm việc của công ty dịch vụ xe mới
có thể đặt xe. Việc khách hàng có thể ở nhà mà vẫn liên hệ đặt xe được tại công
ty này hoặc công ty khác trong không gian ảo đã trở thành hiện thực. Ngày nay,
bất cứ cơng việc nào, bạn cũng có thể thao tác thông qua mạng Internet và vấn
đề chủ yếu tôi muốn nói ở đây là ta làm sao có thể xây dựng được một website
quản lý được việc đặt xe trực tuyến để phục vụ cho các công việc của khách
hàng như công tác, tham quan, dã ngoại, cưới hỏi…

Như vậy, xây dựng “Website Quản lý xe dịch vụ” là một vấn đề thực tế,
ứng dụng được và có tiềm năng phát triển trong tương lai. Sự ra đời của ngơn
ngữ lập trình cho phép chúng ta có thể thiết kế và xây dựng các ứng dụng giao

dịch điện tử dưới nhiều hình thức khác nhau. Với sự hỗ trợ của các loại cơ sở dữ
liệu quan hệ, ta có thể kết hợp chúng trên trình chủ như PHP, ASP, JSP, để có
thể xây dựng và triển khai ứng dụng với nhiều mục đích khác nhau. ASP và
SQL Server kết hợp với việc nghiên cứu thêm về ngơn ngữ lập trình PHP, cơng
cụ Notepad++ và cơng cụ XamPP khơng nằm ngồi mục đích dùng để xây dựng
ứng dụng giao dịch điện tử. Với lí do đó, được sự hướng dẫn tận tình của thầy
giáo ThS. Hồ Hữu Linh, tơi đã chọn đề tài “Mơ hình đa tầng và áp dụng vào

1

xây dựng hệ thống quản lý xe dịch vụ” sử dụng cơng nghệ Framework
Codeigniter với ngơn ngữ lập trình ASP, hệ quản trị cơ sở dữ liệu SQL Server
sau đó nghiên cứu thêm ngôn ngữ PHP, công cụ Notepad++ và cơng cụ XamPP
để hồn thành đề tài khóa luận tốt nghiệp của mình.
1.2. Mục tiêu của đề tài

 Tìm hiểu về ngơn ngữ C#, hệ quản trị cơ sở dữ liệu SQL server.
 Tìm hiểu về mơ hình MVC và ngơn ngữ lập trình ASP.net.
 Tìm hiểu thêm về ngơn ngữ PHP.net, công cụ notepad++, công cụ
XamPP.
 Tìm hiểu ngơn ngữ HTML, CSS, Javascrip.
 Giới thiệu về MySQL.
1.3. Đối tượng và phạm vi nghiên cứu
 Đối tượng nghiên cứu:
- Mơ hình đa tầng và ngơn ngữ lập trình ASP.net, PHP.net và nghiên cứu
thêm về công cụ Notepad++, công cụ XamPP.
 Phạm vi nghiên cứu:
- Nghiên cứu các vấn đề xoay quanh việc lập trình ứng dụng bằng ngơn
ngữ PHP.net và mơ hình đa tầng.
- Xây dựng hệ thống quản lý dịch vụ xe du lịch.

1.4. Phương pháp nghiên cứu
 Thu thập thông tin, nghiên cứu tài liệu liên quan đến đề tài.
 Tham khảo sách, báo và từ Internet.
 Khảo sát thực tế hiện trạng làm việc của công ty xe dịch vụ Tam Kỳ
1.5. Đóng góp của đề tài
 Cung cấp kiến thức về ngôn ngữ lập trình ASP.net, PHP.net, mơ hình
đang tầng, hệ quản trị cơ sở dữ liệu SQL server, công cụ Notepad++, công cụ
XamPP, ngôn ngữ HTML, ngôn ngữ CSS, ngôn ngữ Javascrip.
 Cung cấp một nền tảng ứng dụng xây dựng hệ thống quản lý dịch vụ xe.
Có thể nói đây là một ứng dụng mang tính thiết thực, rất cần thiết vào áp dụng

2

thực tế, giúp người dùng có thể thao tác nhanh chóng, chính xác, tiết kiệm thời
gian làm việc.

 Với đề tài này tôi mong muốn cung cấp một tài liệu tham khảo cho các
bạn sinh viên trong khoa khi tiếp cận và tìm hiểu về lĩnh vực thiết kế một hệ
thống quản lý trên website và nhất là lĩnh vực mà tôi đang nghiên cứu.

 Mơ hình hóa được bài tốn lập trình dưới mơ hình đa tầng để xây dựng
phần mềm quản lý “dịch vụ xe du lịch” trên nền website và được ứng dụng
thực tế.
1.6. Cấu trúc đề tài

 Cấu trúc phần nội dung khóa luận gồm ba chương:
 Chương 1: Tổng quan về ngơn ngữ lập trình ASP.net, PHP.net, mơ hình
đa tầng, hệ quản trị cơ sở dữ liệu SQL server, công cụ Notepad++, công cụ
XamPP, chương này giới thiệu sơ lược ngôn ngữ lập trình ASP, PHP, cơng cụ
Notepad++, áp dụng mơ hình đa tầng để thiêt kế hệ thống và cài đặt SQL server

2008 hoặc công cụ XamPP để quản trị cơ sở dữ liệu, ngôn ngữ HTML, ngôn
ngữ CSS, ngôn ngữ Javascrip.
 Chương 2: Phân tích và thiết kế hệ thống quản lý dịch vụ xe cho một
công ty dịch vụ xe du lịch, nội dung chủ yếu của chương này là phân tích và xây
dựng các chức năng của việc cho phép khách hàng đặt xe trực tuyến, quản lý
nhân viên, quản lý xe, quản lý thông tin đặt xe, in hợp đồng, in hóa đơn, thống
kê báo cáo.
 Chương 3: Xây dựng hệ thống hoàn chỉnh.

3

PHẦN 2. NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Ngôn ngữ lập trình ASP.net
Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập

trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ
sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình
với mơ hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM:
ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm
việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngơn ngữ:
VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được u thích trong
một thời gian dài.

Tuy nhiên, ASP vẫn cịn tồn đọng một số khó khăn như Code ASP và
HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình
bày code khơng trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi
triển khai cài đặt, do khơng được biên dịch trước nên dễ bị mất source code.
Thêm vào đó, ASP khơng có hỗ trợ cache, khơng được biên dịch trước nên phần

nào hạn chế về mặt tốc độ thực hiện. Q trình xử lý Postback khó khăn, …

ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server
(Server-side) dựa trên nền tảng của Microsoft .Net Framework.

Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu
những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS
(Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang web
sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau
đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn
hình.

ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hồn tồn khác, mã
lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi
hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự
động được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các

4

xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó gọi là kỹ thuật lập
trình ở phía server.

* Những ưu điểm nổi bật của ASP.NET
- ASP.Net cho phép người lập trình lựa chọn một trong các ngơn ngữ lập
trình mà họ u thích: Visual Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thơng dịch mỗi
khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành
những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố
này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP.


Hình 1: Giới thiệu về ngơn ngữ ASP.net
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net
Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua
ADO.Net, …
- ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
- ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code
riêng, giao diện riêng do vậy dễ đọc, dễ quản lý và bảo trì.
- Kiến trúc lập trình giống ứng dụng trên Windows.
- Hỗ trợ quản lý trạng thái của các control.
- Tự động phát sinh mã HTML cho các Server control tương ứng với từng
loại Browser.
- Hỗ trợ nhiều cơ chế cache.
- Triển khai cài đặt.

5

- Không cần lock, không cần đăng ký.
- Cho phép nhiều hình thức cấu hình ứng dụng.
- Hỗ trợ quản lý ứng dụng ở mức toàn cục.
- Global.aspx có nhiều sự kiện hơn.
- Quản lý session trên nhiều Server, không cần Cookies.
* Framework Codeigniter
CodeIgniter là nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ
PHP bởi Rick Ellis. Phiên bản đầu tiên được phát hành vào ngày 28/02/2006.
Hiện tại CodeIgniter đang được phát triển bởi ExpressionEngine Development
Team thuộc EllisLab, Inc.

Hình 2: Giới thiệu PHP Framework CodeIgniter
* Những điểm nổi bật
- Được thiết kế theo mơ hình MVC (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 các phần độc lập, từ đó giúp cho việc thiết kế
web, 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 xử lý và bảo trì.
- Nhỏ gọn: Gói cài đặt chỉ 404KB, kích thước CodeIgniter giúp giảm thiểu
đáng kể khơng gian lưu trữ.

6

- 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ố 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ã nguồn.

- Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất
thân thiện với các Robot tìm kiếm.

- Hệ thống thư viện phong phú: CodeIgniter cung cấp những thư viện
phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như
truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quả lý session, xử lý ảnh,…
đến những chức năng nâng cao như XML-RPC, mã hoá, bảo mật,…

- Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và
SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ
thống.


* Những điểm hạn chế
- 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.
- Chưa hỗ trợ AJAX (Asynchronous Javascrip and XML): AJAX đã trở
thành một phần không thể thiếu trong bất kỳ ứng dụng web 2.0 nào. AJAX giúp
nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có
cảm giác như đang sử dụng desktop vì các thao tác đều diễn ra tức thời. Hiện tại,
CodeIgniter vẫn chưa có thư viện dựng sẵn nào hỗ trợ xây dựng ứng dụng
AJAX. Lập trình viên phải sử dụng các thư viện bên ngoài, như JQuery,
Script.aculo.us, Prototype, hay Mootools,…
- Chưa hỗ trợ một số module thông dụng: So với các 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á

7

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 Driver Programming - EDP: 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 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, Yii.
1.2. Hệ quản trị cơ sở dữ liệu SQL server

- Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System -
DBMS): Là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu.
Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa

và tìm kiếm thơng tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản
trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến
những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.

- Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm
chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi
là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được
nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL sv, DB2, Infomix, ...
Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành
khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ
chạy trên hệ điều hành Windows.

- Ưu điểm của HQTCSDL:
+ Quản lý được dữ liệu dư thừa.
+ Đảm bảo tính nhất quán cho dữ liệu.
+ Tạo khả năng chia sẻ dữ liệu nhiều hơn.
+ Cải tiến tính toàn vẹn cho dữ liệu.
- Nhược điểm:
+ HQTCSDL tốt thì khá phức tạp.
+ HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ.
+ Giá cả khác nhau tùy theo môi trường và chức năng.

8

+ HQTCSDL được viết tổng qt cho nhiều người dùng thì thường chậm.
1.3. Ngơn ngữ lập trình PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ 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, 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 ngơn ngữ lập trình web phổ biến nhất thế
giới.

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ
dàng như thế nào:

2. 1 <html>

3. 2 <head>

4. 3 <title>Mã mẫu</title>

5. 4 </head>

6. 5 <body>

7. 6
8. 7 echo "Chào thế giới PHP!";

9. 8 ?>

10. 9 </body>

11. 10 </html>

Hình 3: Cú pháp của ngơn ngữ PHP

Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã
PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá
tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng
trong việc xây dựng phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng
và có sự đóng góp rất lớn của Zend Inc., cơng ty do các nhà phát triển cốt lõi của

9


×