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

Xây dựng phần mềm quản lý giáo dục cho các trung tâm đào tạo quy mô vừa và nhỏ

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 (910.48 KB, 57 trang )

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1. Thông tin về sinh viên
Họ và tên sinh viên: Bùi Viết Dũng

MSV: 1221050022

Điện thoại liên lạc: 0975136984

Email:

Lớp: Tin học địa chất

Khóa: 57

Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Hà Nội
Thời gian làm ĐATN: Từ ngày….. /… ../2017

đến ngày …../….. /2017

2. Mục đích nội dung của ĐATN
Hoàn thành được website quản lý thông tin đào tạo của Trung tâm anh ngữ YOLA bằng
ngôn ngữ lập trình PHP với giao diện trực quan, dễ sử dụng.
Website gồm đầy đủ các chức năng quản lý theo đúng yêu cầu đề ra của Trung tâm.

3. Các nhiệm vụ cụ thể của ĐATN
Tìm hiểu cách quản lý thủ công của các Trung tâm tiếng anh từ đó áp dụng lên mô hình
website.
Nghiên cứu về ngôn ngữ PHP, cở sở dữ liệu MySQL, framework Codeigniter và các kỹ
thuật xây dựng một website khác.



4. Lời cam đoan của sinh viên
Tôi - Bùi Viết Dũng - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của Ths. Dương Thị Tâm.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày….tháng….năm 2017
Tác giả ĐATN
Bùi Viết Dũng


5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho
phép bảo vệ:
Hà Nội, ngày….tháng….năm 2017
Giáo viên hướng dẫn
Ths. Dương Thị Tâm


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................

..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................



LỜI CẢM ƠN

Để Dồ án tốt nghiệp này đạt kết quả tốt đẹp, tôi đã nhận được sự hỗ trợ, giúp
đỡ của nhiều cơ quan, tổ chức, cá nhân. Với tình cảm sâu sắc, chân thành, cho phép
tôi được bày tỏ lòng biết ơn sâu sắc đến tất cả các cá nhân và cơ quan đã tạo điều
kiện giúp đỡ trong quá trình học tập và nghiên cứu đề tài.
Trước hết tôi xin gửi tới các thầy cô BM Tin Học Địa Chất – Khoa CNTT –
Trường Đại học Mỏ - Địa chất lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn
sâu sắc. Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo của thầy cô, đến nay tôi
đã có thể hoàn thành đồ án với đề tài: “Xây dựng phần mềm quản lý giáo dục cho
các trung tâm đào tạo quy mô vừa và nhỏ” .
Đặc biệt tôi xin gửi lời cảm ơn chân thành nhất tới cô giáo – Ths. Dương Thị
Tâm đã quan tâm giúp đỡ, hướng dẫn tôi hoàn thành tốt đồ án tốt nghiệp này trong
thời gian qua.
Tôi xin bày tỏ lòng biết ơn đến lãnh đạo Trường Đại học Mỏ - Địa Chất, các
Khoa Phòng ban chức năng đã trực tiếp và gián tiếp giúp đỡ tôi trong suốt quá trình
học tập và nghiên cứu đề tài.
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên,
đồ án này không thể tránh được những thiếu sót. Tôi rất mong nhận được sự chỉ
bảo, đóng góp ý kiến của các thầy cô để tôi có điều kiện bổ sung, nâng cao kiến
thức của mình, phục vụ tốt hơn công tác thực tế sau này.
Tôi xin chân thành cảm ơn!


LỜI MỞ ĐẦU
Ta phải thừa nhận rằng công nghệ thông tin với tốc độ ưu việt và những ứng
dụng hữu ích đã hỗ trợ con người rất nhiều trong tất cả các lĩnh vực. Ở đây, chúng
ta đề cập đến việc ứng dụng CNTT trong lĩnh vực giáo dục vừa và nhỏ. Đây sẽ là
lĩnh vực rất phát triền trong tương lai vì nhu cầu thực tế bây giờ là rất lớn, đòi hỏi

cần được đầu tư và phát triển hơn nữa để đáp ứng nhu cầu của xã hội.
Chúng ta có thể dễ dàng thấy được trong xã hội chúng ta hiện nay, với mức
thu nhập của người dân ngày càng cao. Nhu cầu học tập của bản thân cũng như cho
con cái một môi trường học tập được đặt lên hang đầu đối với các bậc phụ huynh.
Nếu chỉ học trên lớp với những kiến thức cơ bản sẽ là không đủ để vươn tới biển
lớn kiến thức của nhân loại. Chính vì vậy mà các Trung Tâm ngày càng nhiều được
mở ra nhiều để phục vụ nhu cầu đó. Tuy nhiên, vấn đề mới đặt ra là với lương học
viên vừa và lớn sẽ cần một cơ chế quản lý tốt, tiện lợi thay cho cơ chế quản lý thủ
công đã lỗi thời.
Với yêu cầu tạo sự tiện lợi, dễ dàng trong cơ chế quản lý của các Trung Tâm
giáo dục vừa và nhỏ, tôi xin trình bày đồ án “Xây dựng phần mềm quản lý giáo dục
cho các trung tâm đào tạo quy mô vừa và nhỏ” với mong muốn phần nào đáp ứng
được yêu cầu thực tiễn nêu trên.
Trong khuân khổ đồ án này, tôi xin được áp dụng đề tài vào mô hình quản lý
thông tin đào tạo của Trung tâm anh ngữ YOLA.
Em xin chân thành cảm ơn Cô giáo - Ths Dương Thị Tâm đã truyền đạt cho
em những kiến thức vô cùng hữu ích để thực hiện đồ án này. Trong thời gian cho
phép để thực hiện đồ án, chắc hẳn rằng tôi còn mắc nhiều sai sót. Mong cô xem xét
và chỉ bảo em thêm.


MỤC LỤC


DANH MỤC HÌNH VẼ


DANH MỤC BẢNG BIỂU



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


CHƯƠNG 1: TÌM HIỂU BÀI TOÁN QUẢN LÝ ĐÀO
TẠO CỦA TRUNG TÂM ANH NGỮ YOLA

1.1
1.2
1.3
1.4

1.1

Giới thiệu về trung tâm anh ngữ YOLA
Yêu cầu đặt ra của bài toán quản lý
Phương pháp nghiên cứu
Bố cục đề tài

Giới thiệu về trung tâm anh ngữ YOLA
Trung tâm anh ngữ YOLA
 Địa chỉ: Tầng 2, Tòa nhà R4, Royal City, 72A Nguyễn Trãi, Quận Thanh





Xuân
Điện thoại: 04 6666 8368
Thời gian hoạt động: 8h00 - 21h00 (Thứ 2 - Thứ 7), 8h00 - 17h00 (Chủ
Nhật)

Trung tâm YOLA – Anh Ngữ Thông Minh được thành lập năm 2009, là trung

tâm chuyên đào tạo và luyện thi tiếng Anh du học hàng đầu cho các lứa tuổi với sứ
mạng hướng dẫn và đào tạo toàn diện về kiến thức, kỹ năng và con người với các
khóa học luyện thi: TOEFL, SAT, IELTS, SSAT, GMAT, khóa tiếng Anh thiếu niên:
YOLA English Junior, và các khóa học kỹ năng khác: Academic Writing, Public
Speaking, Writing that Matters
YOLA tin rằng con đường tới thành công thật sự của các bạn trẻ ngày nay
không chỉ được xây dựng bằng những bảng vàng điểm số và thành tích, mà còn có
sự đóng góp lớn của những tố chất cá nhân như: niềm ham thích học hỏi và đam mê
khám phá, ý chí và tham vọng, tinh thần kỷ luật và làm việc chăm chỉ cũng như các


sự trưởng thành về tâm lý, tình cảm, khả năng suy nghĩ độc lập, kỹ năng kết nối với
người khác, hợp tác và lãnh đạo.
Với sứ mạng đào tạo toàn diện về kiến thức, kỹ năng và con người, chúng tôi
chuẩn bị cho các em đầy đủ nhất về học vấn, kỹ năng, tâm thế và nguồn lực để tự
tin nắm bắt cơ hội và thành công trong môi trường quốc tế trong tương lai.
Thông qua hệ thống trung tâm tại TP.HCM và Hà Nội chuyên đào tạo các
chương trình luyện thi tiếng Anh du học, YOLA - Anh Ngữ Thông Minh đã phát
triển một môi trường giáo dục hoàn chỉnh với nhiều chương trình tiếng Anh dành
cho các lứa tuổi: khóa học luyện thi tiếng Anh du học (TOEFL, IELTS, SAT, SSAT,
GMAT), khóa tiếng Anh Thiếu Niên - YOLA English Junior, các khóa học kỹ năng
khác như Academic Writing, Public Speaking, Writing that Matters cùng với nhiều
hoạt động ngoại khóa khác như các buổi chia sẻ kinh nghiệm, dạy kỹ năng và
hướng nghiệp, các câu lạc bộ tiếng Anh đến các trại hè rèn luyện kỹ năng cho thanh
thiếu niên Việt Nam. Thông qua những bài giảng sáng tạo, truyền nhiệt huyết, cũng
như các hoạt động ngoại khoá sôi động, chúng tôi giúp các em trau dồi kỹ năng và
kiến thức học thuật xuất sắc, và tạo một môi trường lành mạnh khuyến khích các em
phấn đấu để hoàn thiện mình.

Đội ngũ giáo viên của YOLA gồm giáo viên bản ngữ và du học sinh Việt Nam
đều tốt nghiệp từ các trường đại học nổi tiếng như Harvard, Stanford, Yale (Mỹ),
Cambridge, Học viện kinh tế London (Anh)... và đã trải qua quá trình nộp đơn và
xin học bổng thành công tại các trường đại học này.
Một trong những tiêu chí tiên quyết trong tuyển chọn giáo viên tại YOLA là
giáo viên phải có điểm thi các chứng chỉ Anh ngữ quốc tế (TOEFL, SAT, IELTS…)
thật, hợp lệ. Mỗi khoá học tại YOLA – Ngoại Ngữ Thông Minh đều có đích đến rõ
ràng về sự tiến bộ trong điểm số. Thường xuyên trong các giờ học, thầy cô chia sẻ
những chiến thuật đã giúp họ đạt điểm cao trong bài thi chuẩn hóa quốc tế với các
bạn học sinh, rồi từ đó theo sát các bạn trong quá trình luyện tập để đạt đến mục
tiêu của mình. Đặc biệt, những chia sẻ về trải nghiệm của các thầy cô trong thời
gian sinh sống, học tập và làm việc tại nước ngoài cũng là một trong những bí kíp
của YOLA giúp các bạn học viên có thêm động lực chinh phục ước mơ du học Mỹ
và có cái nhìn toàn diện khách quan hơn khi bước ra thế giới.


Tại YOLA, mỗi học viên sẽ được tư vấn một lộ trình học tập phù hợp với năng
lực và mục tiêu của bản thân. Từ đó, giúp các bạn biết mình đang ở đâu, cần phải
làm những bước gì và các khóa học tại YOLA sẽ giúp được bạn như thế nào để
chinh phục được các mục tiêu trong tương lai. Quá trình học tập của học viên được
theo dõi sát sao và kịp thời thông báo để học viên biết được điểm mạnh, điểm yếu
của mình và có hướng khắc phục, cải thiện trong tương lai.
Bên cạnh những giờ học tập sinh động trên lớp, YOLA còn thường xuyên tổ
chức các buổi thi thử bài thi tiếng Anh chuẩn hóa quốc tế (4 kỹ năng) miễn phí, các
hoạt động ngoại khóa phong phú sôi động như các buổi hội thảo chia sẻ kinh
nghiệm về kỳ thi tiếng Anh và du học, trại hè lãnh đạo, câu lạc bộ kỹ năng... giúp
học viên phát triển tối đa các kỹ năng và tố chất cần thiết trong môi trường học tập
quốc tế.
Bên cạnh các khóa học luyện thi tiếng Anh du học TOEFL, IELTS, SAT,
SSAT, GMAT/GRE, học viên tại YOLA còn được tiếp cận với các thông tin du học

một cách đầy đủ, tin cậy và đa chiều nhất thông các buổi hội thảo thông tin du học,
gặp gỡ trực tiếp đại diện tuyển sinh của các trường đại học TOP trên thế giới, sổ tay
tư vấn du học hay chia sẻ kinh nghiệm sống, học tập và làm việc tại môi trường
quốc tế từ chính các giảng viên trong suốt quá trình học.

1.2

Yêu cầu đặt ra của bài toán quản lý

Trung tâm anh ngữ YOLA có nhu cầu xây dựng một hệ thống quản lý các thông tin
đào tạo bao gồm:
-

Quản lý danh sách học viên, tiếp nhận học viên, giao dịch của học viên
Quản lý thông tin về chuyển lớp, bảo lưu, sinh nhật
Quản lý danh sách giáo viên, lịch dạy của giáo viên
Quản lý lớp học, khóa học
Quản lý danh sách tư vấn viên
Quản lý danh sách quản trị viên


1.3

Phương pháp nghiên cứu
Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến trung

-

tâm để hình thành ý tưởng tổng quan (Mục đích cần đạt đến của phần mềm?
Đối tượng hướng đến của phần mềm? Tài liệu đã có và cách sử dụng


1.4

-

chúng?).
Xác định các yêu cầu đặt ra của bài toán để phân tích và thiết kế hệ thống

-

cho phù hợp.
Xây dựng phần mềm theo các yêu cầu đã đề ra.
Triển khai phần mềm và đánh giá kết quả đạt được.

Ý nghĩa khoa học và thực tiễn của đề tài
Đề tài là một phần mềm thực tiễn nhằm thúc đẩy các nhà phát triển phần

-

mềm tập trung nhiều hơn vào lĩnh vực giáo dục, hiện là một trong những lĩnh
-

vực kém nhất về áp dụng CNTT vào công tác quản lý cũng như giảng dạy.
Đề tài sẽ giải quyết một phần trong công tác quản lý của các trung tâm anh

-

ngữ YOLA.
Thông qua website quản lý, trung tâm anh ngữ YOLA có thể dễ dàng kiểm
soát được học viên, giáo viên, tư vấn viên cũng như thuận tiện trong việc sắp


-

xếp lịch giảng dạy của giáo viên, khai giảng các khóa học của trung tâm.
Website quản lý sẽ là một sản phẩm giúp cho trung tâm tối ưu được chi phí
quản lý, sẽ không còn những ghi chép thủ công tốn nhân lực nữa mà thay
vào đó là sự tự động hóa, hiển thị trực quan của website.

1.5

Bố cục của đề tài
Nội dung đồ án gồm các phần sau:
- Chương 1. Tìm hiểu bài toán quản lý đào tạo của trung tâm anh ngữ YOLA
- Chương 2. Giới thiệu về công nghệ sử dụng
- Chương 3. Phần tích và thiết kế hệ thống
- Chương 4. Kết quả nghiên cứu và hướng phát triển đề tài


CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG

2.1 Ngôn ngữ lập trình frontend
2.1.1 HTML
2.1.2 CSS
2.1.3 Javascript
2.1.4 Bootstrap
2.2 Ngôn ngữ lập trình backend
2.2.1 Ngôn ngữ lập trình PHP
2.2.2 Hệ quản trị CSDL MySQL
2.3 Kiến trúc Client/Server
2.4 Mô hình MVC

2.5 Framework Codeigniter
2.5.1 Tổng quan
2.5.2 Những đặc điểm nổi bật
2.5.3 Cấu trúc thư mục của framework
2.5.4 Các thư viện
2.6 Phần mềm hỗ trợ lập trình


2.1 Ngôn ngữ lập trình frontend
-

Trước tiên để đi vào tìm hiểu về các ngôn ngữ lập trình frontend thì chúng ta

-

sẽ tìm hiểu qua về khái niệm frontend.
Frontend là một phần của hệ thống phần mềm, tương tác trực tiếp với người
sử dụng. Cụ thể, đó là hệ thống các giao diện người dùng (GUI)

2.1.1 HTML
HTML là chữ viết tắt của Hypertext Markup Language, là ngôn ngữ được sử dụng
rộng rãi nhất để viết các trang Web
Hypertext là cách mà các trang Web (các tài liệu HTML) được kết nối với nhau. Và
như thế, đường link có trên trang Web được gọi là Hypertext.
Như tên gọi đã gợi ý, HTML là ngôn ngữ đánh dấu bằng thẻ (Markup Language),
nghĩa là bạn sử dụng HTML để đánh dấu một tài liệu text bằng các thẻ (tag) để nói
cho trình duyệt Web cách để cấu trúc nó để hiển thị ra màn hình.
Một trang web được bắt đầu bằng thẻ mở <html> và kết thúc bằng thẻ đóng
</html>. Bên trong cặp thẻ mở/đóng html thường bao gồm 2 cặp thẻ chính là
<head></head> và <body></body>.

Nội dung trong cặp thẻ <head></head> thường bao gồm:
-

Tiêu đề trang (title)
Phần mô tả trang (description)
Tên tác giả (author)
Từ khóa liên quan đến nội dung website.
Khai báo các tập tin css sử dụng trong website.

Nội dung trong cặp thẻ <body></body> bao gồm tất cả các đoạn mã để hiển thị nội
dung chính của website. Chúng ta cả thể kể đến một số thẻ hay dùng nhất như là

, <div></div>, <a></a>, <img>, <span></span>,
, <table></table>,

,

,

, <form></form>….
2.1.2 CSS


CSS (Cascading Style Sheet). Website được cấu tạo từ các thẻ HTML nhưng chỉ với
các thẻ HTML thì mới chỉ thể hiện được bộ khung của website. Để căn chỉnh, trình
bày cho đẹp mắt thì ta cần sử dụng ngôn ngữ CSS. Đây là ngôn ngữ được sử dụng
rất nhiều trong lập trình website, thường đi cùng với ngôn ngữ HTML.
Chúng ta có 3 cách để chèn CSS vào trang HTML:
-

Cách 1: Chèn nội dung CSS vào cặp thẻ <style></style> trong phần

-

<head></head> của website.
Cách 2: Chèn trực tiếp vào bên trong thẻ HTML thông qua thuộc tính style.
Cách 3: Liên kết với một file có đuôi .css ở bên ngoài thông qua thẻ <link>.


Trên thực tế cách thứ 3 được các lập trình viên sử dụng nhiều nhất do tính tiện dụng
và linh hoạt, dễ kiểm soát của nó.
2.1.3 Javascript
-

Javascript là một ngôn ngữ thông dịch, chương trình nguồn của nó được
nhúng hoặc tích hợp vào tập tin HTML. Khi trang web được tải trong trình
duyệt hỗ trợ javascript, Trình duyệt sẽ thông dịch và thực hiện các lệnh

-

Javascipt.
JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất thể giới, nó

-

là ngôn ngữ cho HTML, web, server, PC, laptop, tablet, smart phone
JavaScript là một ngôn ngữ kịch bản.
JavaScript là mã lập trình có thể được chèn vào các trang HTML.
JavaScript được chèn vào các trang web có thể được chạy bởi tất cả các trình

-

duyệt web hiện đại.
JavaScript là một ngôn ngữ lập trình dễ học.
Javascript là một ngôn ngữ có đặc tính : đơn giản, động, hướng đối tượng.


2.1.4 Bootstrap

Bootstrap là một trong những CSS Framework phổ biến nhất hiện nay do
twitter phát triển. CSS Framework này có ưu điểm là hỗ trợ khả năng responsive
( Tức là website sẽ tự động có giãn cho phù hợp với màn hình hiển thị của từng
thiết bị).
Với sự phổ biến của smartphone, máy tính bảng như hiện nay, responsive là
một công nghệ rất quan trọng giúp các nhà thiết kế và phát triển website không phải
xây dựng các phiên bản riêng cho từ thiết bị PC/Mobile mà chỉ cần Xây dựng một
bản duy nhất cho mọi thiết bị. Việc này giúp tiết kiệm rất nhiều chi phí cho các nhà
phát triển, chính vì vậy mà bootstrap vẫn đang và sẽ là một framework mạnh mẽ.
Được viết bởi những người có óc thẩm mỹ và tài năng trên khắp thế giới. Sự
tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần nên có thể tin
tưởng kết quả mình làm ra và nhiều khi không cần kiểm tra lại. Vì vậy, giúp cho dự
án của bạn tiết kiệm được thời gian và tiền bạc.
Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng
Bootstrap để tạo nên một trang web sang trọng và đầy đủ. Nhưng lại không cần
code quá nhiều CSS.
Với giao diện mặc định là màu xám bạc sang trọng, hỗ trợ các component
thông dụng mà các website hiện nay cần có. Vì nó là opensource nên bạn có thể vào
mã nguồn của nó để thay đổi theo ý thích của bản thân.
Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.
Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile
trước. Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kích
thước màn hình. Nhờ đó mà chúng ta không cần xây dựng thêm một trang web
riêng biệt cho mobile.
Đội ngũ phát triển Bootstrap đã bổ sung thêm tính năng Customizer. Giúp cho
designer có thể lựa chọn những thuộc tính, component phù hợp với project của họ.
Chức năng này giúp ta không cần phải tải toàn bộ mã nguồn về máy.


2.2 Ngôn ngữ lập trình backend

Trước tiên khi bắt đầu vào tìm hiểu các ngôn ngữ lập trình phía backend,

-

cũng giống như frontend chúng ta sẽ tìm hiểu qua khái niệm backend. Đây là
phần quan trọng, cốt lõi nhất củng một ứng dụng website.
Backend gồm có các thành phần để xử lý các thông tin từ Frontend. Thông

-

thường ám chỉ tới việc tương tác với DBMS (hệ quản trị dữ liệu)
2.2.1 Ngôn ngữ lập trình PHP
PHP (Hypertext Preprocessor) là ngôn ngữ lập trình chủ yếu được dùng để
phát triển các ứng dụng viết cho máy chủ, dễ dàng nhúng vào trang HTML. Đấy là
ngôn ngữ lập trình website phổ biến nhất thế giới do tính mở và dễ tiếp cận với các
lập trình viên của nó.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdoft tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các
mà kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên
mạng. Ông đã đặt tên cho bộ mã kịch bản này là “Personal Home Page Tools”.
Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn
hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển
được các ứng dụng website đơn giản. Rasmus đã quyết định công bố mã nguồn của
PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời
cải tiến mã nguồn.
PHP/FI viết tắt của “Personal Home Page/ Form Interpreter” bao gồm một
số chức năng cơ bản của PHP như chúng ta đã biết đến ngày nay. Nó có các biến
kiểu 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à 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 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 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 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.
Thẻ mở <?php và thẻ đóng ?> sẽ đánh dấu sự bắt đầu và 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 mềm giao điện ứng dụng website.
2.2.2 Hệ quản trị CSDL MySQL


Giới thiệu về MySQL
Một Database (Cơ sở dữ liệu) là một ứng dụng riêng rẽ mà lưu trữ một tập hợp

dữ liệu. Mỗi cơ sở dữ liệu có một hoặc nhiều API riêng biệt để tạo, truy cập, quản
lý, tìm kiếm và tái tạo dữ liệu nó đang giữ.
Một số loại kho lưu dữ liệu khác có thể được sử dụng, chẳng hạn như file trên
hệ thống file hoặc các Hash Table lớn, nhưng việc lấy và ghi dữ liệu không thể
nhanh và dễ dàng với các loại kho lưu dữ liệu này của các hệ thống.
Vì thế, ngày nay, chúng ta sử dụng các Hệ thống quản lý cơ sở dữ liệu quan hệ
(RDBMS) lưu giữ và quản lý khối lượng lớn dữ liệu. Nó được gọi là cơ sở dữ liệu
quan hệ, bởi vì tất cả dữ liệu được lưu giữ trong các bảng dữ liệu khác nhau và các
mối quan hệ được thành lập bởi sử dụng các Primary Key (khóa chính) và một số
khóa khác được biết đến như là Foreign Key.

MySQL là một RDBMS nhanh và dễ dàng để sử dụng. MySQL đang được sử
dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ. MySQL được phát triển, được
công bố, được hỗ trợ bởi MySQL AB, là một công ty của Thụy Điển.


Một số ưu điểm của MySQL
- MySQL là mã ngồn mở. Vì thế, để sử dụng nó, bạn chẳng phải mất
-

một xu nào.
MySQL là một chương trình rất mạnh mẽ.
MySQL là một chương trình rất mạnh mẽ.
MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như
PHP, PERL, C, C++, Java, …


-

MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn.
MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu

-

để phát triển Web.
MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều
hơn nữa trong một bảng. Kích cỡ file mặc định được giới hạn cho một
bảng là 4 GB, nhưng bạn có thể tăng kích cỡ này (nếu hệ điều hành

-


của bạn có thể xử lý nó) để đạt tới giới hạn lý thuyết là 8 TB.
MySQL là có thể điều chỉnh. Giấy phép GPL mã nguồn mở cho phép
lập trình viên sửa đổi phần mềm MySQL để phù hợp với môi trường
cụ thể của họ.

2.3 Kiến trúc Client/Server
Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính,
được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của
mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request)
để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết
quả về cho máy khách.
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch
vụ trên toàn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu
hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về
máy yêu cầu.
Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có
chương trình server và chờ đợi câu trả lời từ server.
Chương trình server và client nói chuyện với nhau bằng các thông điệp
(messages) thông qua một cổng truyền thông liên tác IPC (Interprocess
Communication).
Để một chương trình server và một chương trình client có thể giao tiếp được
với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là
giao thức.
2.4

Mô hình MVC


MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm hay
mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ hiểu, nó là mô

hình phân bố source code thành 3 phần, 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.
Các thành phần trong MVC
-

Controller Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi
đúng những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận

-

request từ url và form để thao tác trực tiếp với Model.
Model là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy

-

xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
View đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa
tất cả các đối tượng GUI như textbox, images… Hiểu một cách đơn giản, nó
là tập hợp các form hoặc các file HTML.

Luồng dữ liệu trong mô hình MVC được thể hiện trong hình ảnh dưới đây:


Ưu điểm: Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế. Do được
chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ
nâng cấp, bảo trì..
Nhược điểm: Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh, tốn thời
gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các thành
phần.
Tóm lại: Để lập trình chuyên nghiệp, làm việc trọng một nhóm nhiều người, việc áp

dụng mô hình trong thiết kế là điều bắt buộc. MVC là một mô hình khá đơn giản và
thích hợp cho những người chưa nhiều kinh nghiệm. Hy vọng qua bài giới thiệu này
các bạn có những kiến thức cơ bản về mô hình thiết kế trong làm phần mềm.
2.5 Framework Codeigniter
2.5.1 Tổng quan
Codeigniter là một nền tảng ứng dụng web ( web application framework)
nguồn mở được dùng để xây dựng các ứng dụng web động tương tác với PHP.
Nó cho phép các nhà phát triển xây dựng một ứng dụng web nhanh hơn - so với
việc viết mã hỗn tạp - bằng cách cung cấp 1 bộ thư viện đầy đủ cho các tác vụ thông
thường, cũng như cung cấp một mô hình tương tác đơn giản và dễ hiểu cho việc kết
nối tới những bộ thư viện đó.
Phiên bản chính thức đầu tiên của CodeIgniter được công bố vào 28 tháng 2 năm
2006. Phiên bản mới nhất cho tới bây giờ là 2.1.4 được công bố chính thúc vào ngày
07 tháng 08 năm 2013.
2.5.2 Những đặc điểm nổi bật
CodeIgniter khuyến khích các lập trình viên sử dụng mô hình model-viewcontroller architectural pattern cho các ứng dụng web của mình.
CodeIgniter cũng mang một số các khái niệm đặc thù và các tính năng cơ bản của
các mô hình MVC khác như Ruby on Rails:
-

Hỗ trợ kết nối và tương tác đa nền tảng cơ sở dữ liệu
Tương tác với cơ sở dữ liệu thông qua active records
Session Management (quản lý Session)
Định dạng và chuẩn hóa form và dữ liệu đầu vào


-

Hỗ trợ Caching toàn trang để tăng tốc độ thực thi và giảm tải tối thiểu cho


-

máy chủ.
Scaffolding (Bị phản đối từ cộng đồng nên đã được lược bỏ trong phiên bản

-

2.0 trở về sau)
Hỗ trợ Template Engine hoặc sử dụng chính PHP tags để điều hướng trong

-

Views
Hỗ trợ Hooks, các lớp ngoại (Class Extensions), và các Plugins

Trong số các mô hình framework MVC khác, CodeIgniter có các ưu điểm sau:
-

Tương thích hoàn toàn với PHP 4. Nếu sử dụng PHP 5 sẽ dùng được các tính
năng hữu ích khác như khả năng gọi phương thức dây chuyền (method

-

chaining ability).
Mô hình code nhẹ cho hệ thống, cải thiện tốc độ thực thi.
Đơn giản trong việc cài đặt, cấu hình và cấu trúc thư mục.
Error Logging
Mêm dẻo trong việc định tuyến URI (URI Routing)



2.5.3 Cấu trúc thư mục của framework
Cấu trúc thư mục của Codeigniter được giải thích rất rõ trong ảnh dưới đây:

2.5.4 Các thư viện
Framework này tích hợp thêm vào một số lớp thư viện khác mà các framework khác
chưa mặc định tích hợp:
-

Bảo mật và XSS Filtering
Gửi Email, hỗ trợ đính kèm, HTML/Text email, đa giao thức(sendmail,

-

SMTP, and Mail) và các thứ khác.
Thư viện chỉnh sửa ảnh (cắt ảnh, thay đổi kích thước, xoay ảnh, v.v..). Hỗ

-

trợ GD, ImageMagick, và NetPBM
Upload file


-

FTP Class - Tương tác với máy chủ thông qua giao thức FTP
Localization
Phân trang tự động
Mã hóa dữ liệu - Data Encryption
Đo lường tốc độ thực thi - Benchmarking
Application Profiling

Lịch - Calendaring Class
User Agent Class
Nén - Zip Encoding Class
Trackback Class
XML-RPC Library
Unit Testing Class
Search-engine Friendly URLs
Một lượng lớn các hàm hỗ trợ (helpers)

2.6 Phần mềm hỗ trợ lập trình
Phần mềm sublime text là một code editor mạnh mẽ và được đông đảo các
web developer, coder, programmer sử dụng và yêu thích. Sublime Text do Jon
Skinner tạo ra vào tháng 1 năm 2008, được viết dựa trên ngôn ngữ lập trình Python
và C++.
Phần mềm Xampp là chương trình tạo máy chủ Web (Web Server) được tích
hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như
phpMyAdmin.


×