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

Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2

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 (3.19 MB, 100 trang )





TRNG I HC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN

 


BÁO CÁO KHÓA LUN TT NGHIP

XÂY DNG NG DNG HC TP TRC TUYN
S DNG ZEND FRAMEWORK 2




Ging viên hng dn:
ThS. Hunh Minh Quang
Sinh viên thc hin:
Nguyn Vng Khang 1051010072



Tp. H Chí Minh, tháng 06 nm 2014
LI CÁM N

Trong sut quá trình hc tp ti Trng i hc M Thành ph H Chí Minh, và
nht là trong quá trình thc hin khóa lun tt nghip, em đư nhn đc s giúp đ,
hng dn, h tr và đng viên t gia đình, bè bn và thy cô đ hoàn thành đ tài này.


Nay, xin cho phép em đc gi li cám n chân thành đn:
 Thy ThS. Hunh Minh Quang, ging viên khoa Công ngh Thông tin,
trng i hc M Thành ph H Chí Minh, là giáo viên hng dn khóa
lun tt nghip. Trong sut quá trình thc hin, thy đư tn tình hng dn,
góp ý cng nh đ xut gii pháp giúp em hoàn thành bài khóa lun theo
đúng đnh hng ban đu.
 Bn bè và gia đình đư ht lòng quan tâm, giúp đ và to điu kin tt nht
trong thi gian qua đ giúp em hoàn thành đ tài này.
Mc dù đư c gng rt nhiu, nhng do hn ch v thi gian và kin thc, nên
không th tránh khi nhng sai sót sai sót. Em rt mong nhn đc s đóng góp và nhn
xét ca thy cô đ khóa lun tt nghip dc hoàn thin hn.


Tp. HCM, ngày 02 tháng 06 nm 2014
Sinh viên thc hin
Nguyn Vng Khang

NHN XÉT CA GING VIÊN HNG DN
























Tp.HCM, ngày … tháng … nm …
Ging viên hng dn


NHN XÉT CA GIÁO VIÊN PHN BIN
























Tp.HCM, ngày … tháng … nm …
Giáo viên phn bin


i

MC LC

CHNG 1: M U 1
1.1. Lý do chn đ tài 1
1.2. Mc tiêu 2
1.3. i tng hng ti và phm vi tìm hiu 2
1.4. Phng pháp 3
1.5. Tóm tt ni dung 3
CHNG 2: C S LÝ THUYT 4
2.1. Hc tp trc tuyn 4
2.1.1. Gii thiu 4
2.1.2. Quá trình phát trin 4
2.1.3. c đim và phân loi 5
2.1.4. E-learning  Vit Nam 7
2.1.5. u và nhc đim 8

2.1.6. Kt lun 9
2.2. Tng quan v công ngh web 2.0 9
2.2.1. c đim 9
2.2.2. S khác bit gia Web 1.0 và Web 2.0 11
2.2.3. Mt s công ngh dùng đ xây dng ng dng web 2.0 13
2.2.4. Kt lun 13
2.3. ng dng nn web 13
2.3.1. Khái nim 13
2.3.2. Lch s hình thành 14
2.3.3. c đim 15
2.3.4. Mô hình MVC 15
2.3.5. Kt lun 17
2.4. Ngôn ng PHP, Zend Framework 2 và h qun tr c s d liu MySQL 17
2.4.1. Tng quan v mư ngun m 17
2.4.2. Ngôn ng PHP 18
2.4.3. Zend Framework 2 19
ii

2.4.4. H qun tr c s d liu MySQL 26
CHNG 3: HIN THC NG DNG 28
3.1. Gii thiu ng dng 28
3.1.1. Ý ngha và chc nng ca ng dng 28
3.1.2. Kin trúc ca ng dng 29
3.1.3. Các loi tài khon ngi dùng 31
3.2. Phân tích thit k h thng 32
3.2.1. Mô hình ý nim truyn thông 32
3.2.2. Mô hình ý nim x lý 34
3.2.3. Mô hình ý nim d liu 52
3.2.4. Mô hình logic d liu 53
3.2.5. Mô hình vt lý d liu 54

3.2.6. Thit lp c s d liu vt lý 55
3.3. Xây dng ng dng 61
3.3.1. Các công đon cn thit đ xây dng mt module 62
3.3.2. Mt s hình nh ca ng dng 64
CHNG 4: TNG KT 69
4.1. Kt lun 69
4.2. Hng phát trin ca đ tài 70
TÀI LIU THAM KHO
PH LC

iii

DANH MC CÁC T VIT TT
T vit tt
Ting Anh
Ting Vit
AJAX
Asynchronous JavaScript and XML
JavaScript và XML không đng b
API
Application Programming Interface
Giao din Lp trình ng dng
CSS
Cascading Style Sheet
Tp tin nh kiu theo Tng
DBMS
Database Management System
H qun tr C s d liu
HTTP
HyperText Transfer Protocol

Giao thc Truyn ti Siêu vn bn
HTTPs
HyperText Transfer Protocol
Secure
Giao thc Truyn ti Siêu vn bn
có Bo mt
JSON
JavaScript Object Notation
Ký hiu đi tng JavaScript
IP
Internet Protocal
Giao thc Internet
PC
Personel Computer
Máy tính Cá nhân
RAM
Random Access Memory
B nh Truy cp Ngu nhiên
RWD
Responsive Web Design
Thit k Web Tng tác
URL
Uniform Resource Locator
nh v Tài nguyên Thng nht
ZF2
Zend Framework 2
Zend Framework 2

iv


DANH MC HÌNH

Hình 2.1- S khác bit gia Web 1.0 và Web 2.0 v phía ngi dùng 11
Hình 2.2- S khác bit gia Web 1.0 và Web 2.0 v phía ngi lp trình 12
Hình 2.3- Mô hình MVC 16
Hình 2.4- Kin trúc MVC trong Zend 21
Hình 3.1- Các module trong ng dng EdusOne 29
Hình 3.2- Mô hình ý nim truyn thông ca ng dng 32
Hình 3.3- Mô hình ý nim x lý (quy trình ng ký) 35
Hình 3.4- Mô hình ý nim x lý (quy trình ng nhp / ng xut) 37
Hình 3.5- Mô hình ý nim x lý (quy trình i mt khu) 39
Hình 3.6- Mô hình ý nim x lý (quy trình Qun lý thông tin cá nhân) 40
Hình 3.7- Mô hình ý nim x lý (quy trình Kt ni ph huynh – hc viên) 42
Hình 3.8- Mô hình ý nim x lý (quy trình Qun lý tài liu) 44
Hình 3.9- Mô hình ý nim x lý (quy trình Qun lý lp) 46
Hình 3.10- Mô hình ý nim x lý (quy trình Trao đi) 48
Hình 3.11- Mô hình ý nim x lý (quy trình Qun lý bài ging) 49
Hình 3.12- Mô hình ý nim x lý (quy trình Qun lý đ thi, làm bài và chm đim) 51
Hình 3.13- Mô hình ý nim d liu ca ng dng 52
Hình 3.14- Mô hình logic d liu ca ng dng 53
Hình 3.15- Mô hình vt lý d liu ca ng dng 54
Hình 3.16- Mt module trong ng dng 63
Hình 3.17- Giao din trang ng nhp 64
Hình 3.18- Giao din trang ng ký Hc viên 64
Hình 3.19- Giao din trang H s 64
Hình 3.20- Giao din trang Qun lý cp 65
Hình 3.21- Giao din mt trang Qun lý th mc 65
Hình 3.22- Giao din mt trang Qun lý thông báo 65
Hình 3.23- Giao din trang Qun lý lp 66
Hình 3.24- Giao din trang Qun lý bài ging 66

Hình 3.25- Giao din trang Qun lý đ thi 66
v

Hình 3.26- Giao din trang Chm bài 67
Hình 3.27- Giao din mt trang Lp 67
Hình 3.28- Giao din trang Làm bài thi 67
Hình 3.29- Giao din trang Bng đim 68
Hình 3.30- Giao din trang Danh sách kt ni ph huynh 68
Hình 3.31- Giao din trang Danh sách kt ni các con 68

vi

DANH MC BNG

Bng 2.1- So sánh gia công ngh web 1.0 và 2.0 12
Bng 2.2- nh tuyn trong ZF2 22
Bng 2.3- Kt ni c s d liu s dng Zend\Db\Adapter trong ZF2 23
Bng 2.4- Truy vn c s d liu s dng Zend\Db\Sql trong ZF2 24
Bng 3.1- Chc nng ca mi module ca ng dng 30
Bng 3.2- Danh sách các tác nhân ca ng dng 33
Bng 3.3- Danh sách các lung thông tin ca ng dng 33
Bng 3.4- Bng BAI_DANG trong c s d liu ca ng dng 55
Bng 3.5- Bng BAI_GIANG trong c s d liu ca ng dng 55
Bng 3.6- Bng CAP trong c s d liu ca ng dng 55
Bng 3.7- Bng DANH_XUNG trong c s d liu ca ng dng 56
Bng 3.8- Bng DE_THI trong c s d liu ca ng dng 56
Bng 3.9- Bng GIANG_VIEN trong c s d liu ca ng dng 56
Bng 3.10- Bng HOC trong c s d liu ca ng dng 57
Bng 3.11- Bng HOC_HAM trong c s d liu ca ng dng 57
Bng 3.12- Bng HOC_VI trong c s d liu ca ng dng 57

Bng 3.13- Bng HOC_VIEN trong c s d liu ca ng dng 57
Bng 3.14- Bng KET_NOI trong c s d liu ca ng dng 57
Bng 3.15- Bng KIEU_THONG_BAO trong c s d liu ca ng dng 58
Bng 3.16- Bng LINH_VUC trong c s d liu ca ng dng 58
Bng 3.17- Bng LOAI_TAI_KHOAN trong c s d liu ca ng dng 58
Bng 3.18- Bng LOP trong c s d liu ca ng dng 58
Bng 3.19- Bng NHOM_LINH_VUC trong c s d liu ca ng dng 59
Bng 3.20- Bng PHU_HUYNH trong c s d liu ca ng dng 59
Bng 3.21- Bng QUOC_TICH trong c s d liu ca ng dng 59
Bng 3.22- Bng TAI_KHOAN trong c s d liu ca ng dng 59
Bng 3.23- Bng THANG_DIEM trong c s d liu ca ng dng 60
Bng 3.24- Bng THONG_BAO trong c s d liu ca ng dng 60
Bng 3.25- Bng THONG_TIN_CA_NHAN trong c s d liu ca ng dng 60
vii

Bng 3.26- Bng TRANG_THAI_TAI_KHOAN trong c s d liu ca ng dng 60
Bng 3.27- Bng THU_MUC trong c s d liu ca ng dng 61
Bng 3.28- Bng TRANG_THAI_TRUC_TUYEN trong c s d liu ca ng dng 61
Bng 3.29- Bng TRINH_DO trong c s d liu ca ng dng 61
Bng 3.30- Bng VAI_TRO trong c s d liu ca ng dng 61
1

CHNG 1: M U
1.1. LỦ do chn đ tƠi
Internet đư làm thay đi rt nhiu cuc sng ca con ngi, t vic điu hành đt
nc, qun lý, kinh doanh cho đn đáp ng nhu cu cá nhân nh gii trí và hc tp.
Ngày nay, mi ngi thng nghe nói đn cm t “e-government” (chính ph đin t),
“e-commerce” (thng mi đin t), e-learning (hc tp đin t), …; trong đó
e-learning (hay còn gi là hc tp trc tuyn) là mt ng dng công ngh thông tin
trong lnh vc giáo dc. ây là mt xu hng hc tp ph bin  các nc phát trin

trên th gii, và ti Vit Nam, nó cng đang đc khuyn khích trin khai. Ch th s
58-CT/TW đc phê duyt vào ngày 17/10/2000 bi ông Phm Th Duyt, thng
trc B Chính tr Ban Chp hành Trung ng ng Cng sn Vit Nam, v vic “y
mnh ng dng và phát trin công ngh thông tin phc v s nghip công nghip hoá,
hin đi hoá” đư ch ra đnh hng phát trin công ngh thông tin ca đt nc. Theo
ch th này, cn phi “y mnh ng dng công ngh thông tin trong công tác giáo
dc và đào to  các cp hc, bc hc, ngành hc. Phát trin các hình thc đào to t
xa phc v cho nhu cu hc tp ca toàn xã hi. c bit tp trung phát trin mng
máy tính phc v cho giáo dc và đào to, kt ni Internet ti tt c các c s giáo
dc và đào to”, trong đó có các dch v công cng nh giáo dc, đào to t xa, cha
bnh t xa, th vin đin t, [3].
S phát trin ca Internet dn đn s n r ca các website và ng dng web.
Chúng ngày càng tr nên quen thuc đi vi nhiu ngi tính đn gin và sn tin
(không ph thuc vào h điu hành và phn cng máy tính, ch cn truy xut thông
qua trình duyt web). Do đó, vic phát trin mt ng dng trên nn web cng s thun
li hn khi không đòi hi ngi dùng phi cài đt trên máy tính cc b. Mi yêu cu
ca h thng ph thuc vào kh nng đáp ng ca web server.
 xây dng mt ng dng web, không th không nhc ti PHP. ây là ngôn
ng mư ngun m hoàn toàn min phí. Bên cnh đó cng phi k đn MySQL, h
qun tr c s d liu cng min phí. Tuy nhiên, vic lp trình web bng PHP thun có
đôi chút khó khn, chng hn nh mư PHP và mư HTML nm ln ln vi nhau, tn
nhiu công sc đ thit k theo mô hình MVC và khi cn plug-in phi t tìm kim và
thêm vào. Nhng khó khn này khin cho mư ngun trang web không đc “sch”,
2

khó bo trì và qun lý. Zend Framework giúp gii quyt vn đ này. Zend là mt th
vin lp trình da trên ngôn ng PHP, đc thit k theo hng đi tng và h tr
xây dng ng dng theo mô hình MVC. Vic lp trình đc chia thành tng module,
mi module đm nhn mt chc nng riêng bit. ng thi Zend cng h tr nhiu
th vin do cng đng xây dng sn, rút ngn thi gian vit các hàm x lý thông dng.

Nhng lý do trên cho thy vic ng dng công ngh thông tin vào giáo dc và
hc tp là phù hp vi ch trng ca nhà nc và đáp ng nhu cu trao đi và hc
hi ca nhiu ngi, đc bit là gii sinh viên, hc sinh. Do đó, đ tài “Xây dng ng
dng Hc tp trc tuyn s dng Zend Framwork 2” đc chn làm đ tài cho khóa
lun tt nghip, vi mong mun cung cp thêm mt hình thc hc tp mi dành cho
hc sinh, sinh viên và nhng ngi có nhu cu hc tp qua mng, theo tinh thn kt
ni và s chia. ng dng mang tên EdusOne, đc vit bng mư ngun m PHP và s
dng th vin Zend 2.
1.2. Mc tiêu
Hc hành có tm quan trng rt ln đi vi mi con ngi, k c trong công vic
ln trong cuc sng. S phát trin ca Internet đư giúp cho con ngi có c hi tip
cn kin thc nhiu hn, kt ni h vi nhau trong mt không gian o đ trao đi
thông tin vi nhau. Ngày nay, vic s dng mt ng dng đư không còn khó khn, bi
tt c đu đc truy cp thông qua trình duyt web. Do đó, ng dng web s d dàng
tip cn ti nhiu đi tng ngi dùng, đc bit là hc sinh, sinh viên.
Vì vy, mc tiêu ca đ tài là xây dng mt ng dng web đáp ng nhu cu hc
tp và trao đi ca sinh viên, hc sinh, phát huy nhng li ích mà Internet mang li.
1.3. i tng hng ti vƠ phm vi tìm hiu
i tng chính mà đ tài này hng ti chính là các hc sinh, sinh viên cng
nh nhiu đi tng khác có nhu cu hc tp qua mng Internet, bên cnh đó là các
ging viên, nhng ngi có đam mê ging dy, mong mun truyn ti kin thc và sn
sàng gii đáp thc mc cho hc viên.
Phm vi tìm hiu ca đ tài gm có:
 Hc tp trc tuyn (e-learning).
 Công ngh Web 2.0 và ng dng nn web (web-based application).
 Công ngh mư ngun m, bao gm PHP, Zend Framework 2 và h qun
tr c s d liu MySQL.
3

1.4. Phng pháp

Nhng gii pháp công ngh mà đ tài này s dng bao gm:
 Phng pháp lun Merise.
 Ngôn ng lp trình web PHP.
 Zend Framework 2.
 H qun tr c s d liu MySQL.
1.5. Tóm tt ni dung
 Chng 1: M đu – Gii thiu tng quát v đ tài, bao gm tính cp thit, mc
tiêu, đi tng hng ti và phm vi tìm hiu, phng pháp ca đ tài.
 Chng 2: C s lý thuyt – Trình bày các vn đ:
o Hc tp trc tuyn.
o Tng quan v công ngh Web 2.0.
o ng dng nn web.
o Công ngh mư ngun m.
 Chng 3: Hin thc ng dng – Mô t, phân tích thit k h thng và xây
dng ng dng EdusOne.
 Chng 4: Tng kt – a ra kt lun và hng phát trin ca đ tài.
4

CHNG 2: C S LÝ THUYT
2.1. Hc tp trc tuyn
Trong xư hi toàn cu hóa nh hin nay, hc tp là mt vic vô cùng quan trng,
không ch đ đng vng trong th trng vic làm đy cnh tranh mà còn giúp nâng
cao kin thc vn hóa và xư hi ca mi con ngi. Tn dng nhng tin b ca công
ngh Internet, e-learning (hay còn gi là hc tp trc tuyn) ra đi vi mc tiêu truyn
ti kin thc và k nng đn nhng ngi hc ti bt kì thi đim nào,  bt kì ni nào
trên th gii.

2.1.1. Gii thiu
Hc tp trc tuyn là vic ng dng công ngh thông tin vào lnh vc giáo dc,
có s tng tác gia ngi dy và ngi hc. Kin thc đc cung cp ti ngi hc

đa dng v hình thc, t vn bn, âm thanh, phim nh, hình nh mô phng, cho đn
din đàn, phòng trò chuyn, … S kt ni thông qua Internet, do đó không b gii hn
bi thi gian và khong cách đa lý. ng thi nó cng gim chi phí và tng kh nng
tip nhn kin thc cho ngi hc. D đoán e-learning s tr thành phng pháp hc
tp ph bin trong th k này, khi công ngh phát trin và kh nng kt ni con ngi
ngày càng m rng.

2.1.2. Quá trình phát trin
2.1.2.1. Trc nm 1983
Thi k này, máy tính cha đc s dng rng rưi, phng pháp giáo dc “Ly
ging viên làm trung tâm” là phng pháp ph bin nht trong các trng hc. Hc
viên ch có th trao đi vi ging viên và bn hc.

2.1.2.2. Giai đon 1984-1993
S ra đi ca h điu hành Windows 3.1, máy tính Macintosh, phn mm trình
din Powerpoint, cùng các công c đa phng tin khác đư cho phép to ra nhng bài
ging có tích hp hình nh và âm thanh da trên công ngh CBT (Computer-based
Training – ào to da trên Máy tính). Bài hc đc lu tr trên đa CD-ROM hoc
đa mm, ngi hc mua v và t hc. Tuy nhiên s hng dn ca ging viên là rt
hn ch.
2.1.2.3. Giai đon 1994-1999
ây là thi k phát trin ca th h Web 1.0. Vi nhng khái nim mi nh e-
mail, web, trình duyt, media player, k thut truyn audio/video tc đ thp, k thut
5

truyn thông đa phng tin đư có bc phát trin mi. Nh nhng công ngh mi này,
hình thc đào to qua mng đư đc trin khai trên din rng.
2.1.2.4. Giai đon 2000 đn nay
ng dng mng IP, công ngh truy cp mng tc đ cao, các công ngh thit k
web tiên tin đư to nên mt cuc cách mng trong giáo dc. Nh có web, giáo viên có

th kt hp hng dn trc tuyn (hình nh, âm thanh, công c trình din) ti mi
ngi hc, nâng cao hn cht lng dch v đào to. Công ngh web càng cho phép đa
dng hoá môi trng hc tp và tài nguyên s dng. Tt c nhng điu này to ra mt
cuc cách mng trong đào to vi giá thành r, cht lng cao và hiu qu.
Hin nay, mt trong nhng h thng e-learning vit bng mư ngun m đc s
dng ph bin nht là Moodle [xem ph lc B].

2.1.3. c đim và phợn ệoi
2.1.3.1. c đim
E-learning có nhng đc đim sau:
 Kin thc cp nht: So vi cách hc truyn thng thì ni dung thông qua
hình thc hc tp trc tuyn mang tính thi đi, thc t, không phi là
nhng thông tin c hoc ít ph bin.
 Ngi hc đóng ch đo: Ngi hc t kim soát quá trình bn thân, công
c hc tp, đa đim hc cng nh khi lng kin thc mà h mun thu
nhn, t quyt đnh la chn môn hc, cách thc thu nhn kin thc phù
hp vi kh nng và s thích ca chính mình.
 Mang tính cá nhân: Vic la chn lp hc, kin thc, k nng trong h
thng liên quan trc tip ti kin thc nn tng, nhim v và công vic
ca mi ngi hc ti thi đim đó.
 ào to tng quát: Hình thc hc tp này cung cp các hot đng đào to
theo nhiu lnh vc khác nhau, vi chuyên môn và ni dung ging dy đa
dng, cho phép hc viên la chn theo s thích, kh nng hoc nhu cu.
 Tính tng tác: Ngi hc có th s dng nhng chc nng nh din đàn,
trò chuyn, gi tin nhn, … đ trao đi vi ngi dy và bn hc; do đó
giúp ngi hc ghi nh khi lng kin thc đư hc hiu qu hn.
 Tit kim thi gian và không b gii hn v đa lý: E-learning cho phép
hc viên có th hc vi tc đ hiu qu nhanh nht có th. Ngi hc có
6


th hc bt k đâu, bt c lúc nào min có kt ni Internet và thit b công
ngh.
2.1.3.2. Phân loi
V cách thc truyn đt kin thc, có th chia thành 2 loi:
 ng b (synchronous): Hc tp đng b liên quan đn vic trao đi ý
kin và thông tin vi mt hoc nhiu ngi tham gia trong cùng khong
thi gian. Hình thc trao đi có th là thông qua Skype, hoc phòng hc
o, ni tt c mi ngi đang trc tuyn cùng trò chuyn mt lúc.
 Không đng b (asynchronous): Hc tp không đng b có th s dng
email, blog, wiki, din đàn, sách giáo khoa đin t (ebook), tài liu siêu
vn bn, âm thanh hoc mng xư hi nhm giúp cho ngi hc xem li
nhiu ln mt ni dung, kin thc nào đó hoc t mình đào sâu nghiên
cu thêm.
V hình thc đào, có th chia thành 5 loi:
 ào to da trên công ngh (TBT – Technology-based Training): là hình
thc đào to có s áp dng ca công ngh, đc bit là công ngh thông tin.
 ào to da trên máy tính (CBT – Computer-Based Training): thông
thng là s dng các phn mm đào to trên đa CD-ROM hoc cài trên
máy tính cc b.
 ào to da trên web (WBT – Web-based Training): là hình thc đào to
s dng công ngh web. Ni dung hc, các thông tin qun lý khoá hc,
thông tin v ngi hc đc lu tr trên máy ch và ngi dùng có th d
dàng truy cp thông qua trình duyt Web.
 ào to trc tuyn (Online Learning/Training): là hình thc đào to có s
dng kt ni mng đ hc tp, nh ly tài liu, giao tip gia ngi dy và
ngi hc.
 ào to t xa (Distance Learning): Thut ng này nói đn hình thc đào
to trong đó ngi dy và ngi hc không  cùng mt ch, thm chí
không cùng mt thi đim. Ví d nh vic đào to s dng công ngh kt
ni video, hi tho t xa, …



7

2.1.4. E-learning  Vit Nam
 Vit Nam, mc dù e-learning xut hin hi mun nhng trong thi gian gn
đây, mt s trng đi hc đư tin hành xây dng các website hc tp trc tuyn, giúp
hc sinh, sinh viên có c hi nâng cao kin thc cng nh đt nn móng cho s phát
trin tip theo sau này.
2.1.4.1. Chính sách ca nhà nc v ng dng công ngh thông tin vào giáo dc
Vào nm 2000, ch th s 58-CT/TW v vic “y mnh ng dng và phát trin
công ngh thông tin phc v s nghip công nghip hoá, hin đi hoá” đư ch ra rng
cn phi “y mnh ng dng công ngh thông tin trong công tác giáo dc và đào to
 các cp hc, bc hc, ngành hc. Phát trin các hình thc đào to t xa phc v cho
nhu cu hc tp ca toàn xã hi. c bit tp trung phát trin mng máy tính phc v
cho giáo dc và đào to, kt ni Internet ti tt c các c s giáo dc và đào to”,
trong đó có các dch v công cng nh giáo dc, đào to t xa, cha bnh t xa, th
vin đin t, [3]
Mt trong nhng mc tiêu ng dng công ngh thông tin đc nhiu ngi
hng ti là e-learning. Nhiu hi ngh, hi tho v công ngh thông tin và giáo dc
đu có đ cp nhiu đn vn đ e-learning và kh nng áp dng vào môi trng đào
to  Vit Nam nh “Hi tho nâng cao cht lng đào to i hc Quc gia Hà Ni”
nm 2000, “Hi ngh giáo dc đi hc” nm 2001, “Hi tho khoa hc quc gia ln I
v nghiên cu phát trin và ng dng công ngh thông tin và truyn thông ICT/rda”
tháng 2 nm 2003, “Hi tho khoa hc quc gia ln II v nghiên cu phát trin và ng
dng công ngh thông tin và truyn thông ICT/rda” tháng 9 nm 2004. n đu tháng
3 nm 2005, “Nghiên cu và trin khai e-learning” do Vin Công ngh Thông tin (i
hc Quc gia Hà Ni) và Khoa Công ngh Thông tin (i hc Bách khoa Hà Ni)
phi hp t chc là hi tho khoa hc chính thc đu tiên v e-learning đc t chc
ti Vit Nam.


2.1.4.2. Tình hình phát trin ca e-learning  Vit Nam
Vào khong nm 2002 tr v trc, các tài liu v e-learning  Vit Nam không
nhiu. Trong hai nm 2003 và 2004, vic nghiên cu phng pháp hc tp mi m này
trong nc mi đc nhiu đn v quan tâm hn. Các trng đi hc  Vit Nam bt
đu nghiên cu và trin khai e-learning, thu đc mt s kt qu kh quan, có th k
đn i hc Công ngh – i hc Quc gia Hà Ni, Vin Công ngh Thông tin – i
8

hc Quc gia Hà Ni, i hc Bách Khoa Hà Ni, i hc Quc gia TP. HCM, Hc
vin Bu chính Vin thông, Ni bt nht là đ án xây dng mng giáo dc EduNet
vào nm 2008 vi kinh phí rt ln, mc đích là cung cp tài liu, khóa hc trc tuyn
min phí và kt ni các trng đi hc vi nhau. ng thi, mt s công ty phn mm
 Vit Nam đư tung ra th trng các sn phm h tr đào to.
Nhng vic làm này đư bc đu thúc đy s phát trin ca e-learning  Vit
Nam. Tuy nhiên, hình thc này ch mi  giai đon s khai và còn nhiu vic phi làm
đ hòa nhp vào xu hng chung ca th gii.
2.1.5. u và nhc đim
2.1.5.1. u đim
E-learning mang li nhiu li ích. u tiên, nó giúp gim thiu chi phí. Vic đa
lp hc lên mng s giúp ct gim chi phí v phòng c và thit b hc tp.
Th hai, ngi hc có th t do la chn khóa hc phù hp nht đi vi trình đ,
s thích, mc tiêu ca bn thân, hoc theo nhu cu công vic; linh đng thu xp thi
gian hc tp; thoi mái khi “lên lp” do không b gò bó bi thi gian và không gian.
Th ba, giáo trình và tài liu ca các khóa hc trc tuyn là có tính đng b cao
vì các hu ht tài liu đc son tho và đa vào chng trình dy đc xem xét và có
th thay đi mt cách d dàng.
Th t, vi phng châm ly ngi hc là trung tâm, ngi hc cn bit cách
điu chnh thi gian và hành vi ca mình đ đt đc hiu qu hc tp cao nht. H
cng có th tng tác vi nhiu ngi cùng lúc đ tho lun v bài hc.

Và cui cùng, vì e-learning da ch yn da trên công ngh Internet, truy cp
bng trình duyt web, nên nó rt d tip cn vi nhiu đi tng ngi dùng.
2.1.5.2. Nhc đim
Bên cnh nhng u đim, e-learning cng còn mt s nhc đim. u tiên là c
hi giao tip s gim. Xư hi o là mt phn nguyên nhân khin gii tr ngi giao tip
và thiu k nng ng x. Thc t, có rt nhiu ngi t ra ít nói ngoài đi thc nhng
li rt d dàng trò chuyn qua mng, t đó khin h đánh mt nhiu c hi trong công
vic cng nh trong cuc sng.
K đn, hình thc này hn ch vi nhng ngi ln tui. Công ngh thông tin
phát trin, nhng không phi ai cng theo kp s phát trin này. Hin ti, vn có mt
9

b phn không nh nhng ngi thuc th h trc gp khó khn khi tip xúc vi máy
tính, t đó khin h e ngi đi vi phng pháp hc tp trc tuyn.
Hn na, mt s giáo viên t ra không thích thú vì gim kh nng truyn đt kin
thc t giáo viên đn hc viên: ôi khi có nhng bài thuyt ging, bài hc mà ngi
dy cn có mt “không gian sng” (lp hc, ging đng, hi trng, …) và giao tip
vi ngi nghe thì h mi có hng thú truyn đt ht kin thc ca mình. Vic hc tp
qua mng, du sau ngi dy cng ch là ngi trc máy tính đ trò chuyn vi nhng
ngi mà thm chí h còn không bit mt.
Ngoài ra, ngi dy không th đánh giá ht trình đ, kh nng ca hc viên, mà
ch có th đánh giá kh nng tip thu kin thc thông qua nhng bài kim tra, hoc
nhiu nht là qua nhng gì trao đi trên mng.
2.1.6. Kt lun
Phng pháp hc tp trc tuyn m ra kh nng tng tác gia ngi hc và
ngi dy, giúp ngi hc linh đng hn trong vic tip thu kin thc. Hình thc này
đư và đang phát trin  nhiu ni trên th gii cng nh  Vit Nam. Ti Vit Nam,
trong hin ti và trong tng lai gn, hy vng vi s ci thin v giao din, chc nng,
kh nng tng tác, cng nh tc đ đng truyn đc nâng cao, e-learning s ngày
càng ln mnh và to điu kin tt nht đ phc v cho quá trình dy – hc.


2.2. Tng quan v công ngh web 2.0
Vào tháng 10 nm 2004, ti hi tho Web 2.0 ln th nht do O’Reilly Media và
MediaLive International t chc, công ngh Web 2.0 đc gii thiu. S kin này
đc đánh giá là bc ngot thay đi cách thc s dng Internet: ngi dùng s không
ch “duyt và xem” trang web nh trc kia mà còn tham gia đóng góp thông tin.

2.2.1. c đim
Ti bui hi tho, Dale Dougherty, phó ch tch ca O’Reilly Media, đư không
đa ra đnh ngha v web 2.0 mà ch đa ra các ví d so sánh phân bit Web 1.0 và
Web 2.0. Sau đó, Tim Oreilly, ch tch kiêm giám đc điu hành O’Reilly Media, đư
đúc kt li 7 đc tính ca công ngh mi này [15]:
 Web đóng vai trò nn tng.
 Tp hp trí tu cng đng.
 D liu có vai trò then cht.
 Phn mm đc cung cp  dng dch v web và đc cp nht liên tc.
10

 Phát trin ng dng d dàng và nhanh chóng.
 Phn mm có th chy trên nhiu thit b.
 Giao din ng dng phong phú.
2.2.1.1. Web đóng vai trò nn tng
c đim đu tiên d nhn thy đi vi bt k ai đư tng s dng web (website
hoc ng dng web) chính là không yêu cu cài đt trên máy tính cc b. Vic hin th
video, hình nh và âm thanh là nhng ví d: ngi dùng không cn cài đt phn mm
nào trên máy tính ca mình, tt c đu do trình duyt web h tr.
2.2.1.2. Tp hp trí tu cng đng
Nu nh  thi k Web 1.0, ngi dùng ch có th “duyt và xem” thông tin thì
ti Web 2.0, h đư đc “cp quyn” đóng góp thông tin. Wikipedia là mt ví d đin
hình v điu này: thông tin trên trang đu do cng đng ngi dùng đóng góp, đư đc

các chuyên gia cùa Wikipedia kim chng, và hn th na, ngi xem đc phép phn
hi nu nh thông tin đó không chính xác. Mt ví d khác là blog, hay còn gi là nht
ký cá nhân. Blog cho phép ngi dùng t do th hin suy ngh và ý kin cá nhân, sau
đó đc cng đng ngi xem bình lun và đánh giá.
2.2.1.3. D liu có vai trò then cht
Mi ng dng Internet quan trng hin nay đu s dng ngun c s d liu
chuyên bit: web tìm kim d liu ca Google và Yahoo!, thông tin sn phm ca
Amazon, c s d liu v sn phm và ngi bán ca eBay, d liu bn đ ca
MapQuest, d liu bài hát ca Napster, Bên cnh đó, mt s website còn cung cp
d liu đ các website khác s dng, gi là dch v web (web service).
2.2.1.4. Phn mm đc cung cp  dng dch v web và đc cp nht liên tc
Do vic cp nht đc tin hành  server nên vi nhng phn mm đc cung
cp nh mt dch v thông qua Internet, ng dng trên máy tính ca ngi dùng s
đc cp nht ngay khi có phiên bn mi nht.
2.2.1.5. Phát trin ng dng d dàng và nhanh chóng
Chính xác Tim Oreily đư dùng cm t “lightweight models and cost-effective
scalability” (mô hình gn nh và kh nng m rng ít tn kém). c đim này đ cp
đn nhng dch v, phn mm không đóng gói và d phát trin v sau. D liu tách
bit vi phn hin th, và chính nh mi liên kt “lng lo” này đư giúp cho các ng
dng d dàng thay đi và tùy bin hin th trên nhiu thit b khác nhau. Bên cnh đó,
11

xu hng s dng ngôn ng mư ngun m (nh PHP, Python, Ruby on Rails, ) vi
công c phát trin nhanh ng dng đư làm gim chi phí thit k và xây dng ng dng.

2.2.1.6. Phn mm có th chy trên nhiu thit b
Ngày nay, khi các thit b di đng tr nên ph bin thì Web 2.0 là mt li th khi
nó không b gii hn bi nn tng. Mt thit b s dng h điu hành Android, IOS
hay Windows Phone đu có th truy cp vào trang web t trình duyt web. Theo Tim
Oreilly, bt k ng dng web nào cng có th đc xem nh phn mm chy trên hai

máy tính kt ni vi nhau: mt lu tr  web server và mt lu tr  trình duyt client.

2.2.1.7. Giao din ng dng phong phú
S xut hin ca DHTML và JavaScript, sau đó là khái nim RIA (Rich Internet
Application) do Macromedia đ xut cùng vi Flash dùng cho din hot trên web đư
góp phn đa dng hóa cách hin th thông tin trên trình duyt. Ngày nay, vi HTML5
và CSS 3.0, kh nng din hot đư tng lên đáng k. Cùng nhau, chúng đư thay đi
din mo ca trang web, to đim nhn và thu hút ngi đc.

2.2.2. S khác bit gia Web 1.0 và Web 2.0
V phía ngi s dng, Web 2.0 trao nhiu quyn cho h hn khi h có th đc
và ghi (read and write). Do đó, Web 2.0 có ni dung đng và tng tác hai chiu,
ngc li Web 1.0 có ni dung tnh và tng tác mt chiu.

Hình 2.1- S khác bit gia Web 1.0 và Web 2.0 v phía ngi dùng
(ngun: )
12

V phía ngi lâp trình, Web 2.0 đư cung cp c ch tách bit gia mư lp trnh
và mư giao din, t đó to thun li trong vic qun lý mư ngun và bo trì ng dng.
Mt trong nhng mô hình kin trúc ra đi t Web 2.0 là MVC, cho phép ngi lp
trình tách ng dng thành 3 phn khác nhau 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 nhau.


Hình 2.2- S khác bit gia Web 1.0 và Web 2.0 v phía ngi lp trình
(ngun: )
Bng di đây ch ra s khác bit gia hai công ngh web:
Mc đ
Web 1.0

Web 2.0
Mc đ tp trung
Tp trung mt ni
Phân tán nhiu ni
Mc đ tng tác
Dành cho cá nhân
Dành cho cá nhân, tp th, xư hi
Mc đ ni dung
Cung cp ni dung
Cung cp các dch v và h giao
tip lp trình ng dng (APIs)
Mc đ s dng
c đc
c đc, vit đc
Mc đ liên kt
Truyn phát gia các h thng
ng b gia các h thng
Mc đ h thng
H thng bao gm cu trúc, ni
dung to ra đư có tính toán trc
T sn sinh, t đ xut
Mc đ d liu
Tnh
ng
Mc đ truy xut
Cng nhc, không linh hot
Quan h mm do, lng
Bng 2.1- So sánh gia công ngh web 1.0 và 2.0

13


2.2.3. Mt s công ngh dùng đ xợy dng ng dng web 2.0
2.2.3.1. XML
XML (Extensible Markup Language – ngôn ng đánh du m rng) là mt ngôn
ng đánh du đc to ra cu trúc d liu, lu tr và vn chuyn bng cách đnh ngha
mt tp hp các quy tc cho các tài liu mư hóa trong mt đnh dng mà c con ngi
và máy có th đc đc. Các quy tc đó đc đnh ngha trong XML 1.0, theo chun
ca W3C [xem ph lc C].

2.2.3.2. AJAX
Ajax (Asynchronous JavaScript và XML) là mt nhóm các k thut phát trin
web liên quan đn nhau đc s dng trên phía client đ to ra các ng dng web
không đng b. Vi Ajax, các ng dng web có th gi d liu, và ly d liu t mt
máy ch không đng b mà không can thip vi màn hình hin th và hành vi ca
trang hin ti. D liu có th đc ly ra bng cách s dng đi tng
XMLHttpRequest. Mc dù trong tên gi có cha XML, nhng thc t JSON đc s
dng ph bin hn [xem ph lc C].
2.2.4. Kt lun
Web 2.0 to điu kin thun li cho s tham gia chia s thông tin, kh nng
tng tác gia ngi dùng và h thng, trái ngc vi th h 1.0 khi ngi dùng ch
xem thông tin mt cách th đng. Bên cnh đó, web 2.0 giúp cho ngi lp trình thit
k h thng mt cách cht ch, qun lý mư lnh rõ ràng, thun li khi nâng cp và bo
trì. Nói tóm li, Web 2.0 đư thay đi cách thc s dng Internet theo hng ch đng.
2.3. ng dng nn web
S ra đi ca công ngh Web 2.0 đư mang đn mt khái nim mi trong vic xây
dng ng dng. Nhng ng dng gi đây không cn phi cài đt trên máy tính cc b,
mà đc đa lên server và ngi dùng truy cp thông qua trình duyt web. Chúng
đc gi là ng dng nn web (web-based application).
2.3.1. Ầhái nim
ng dng nn web là mt thut ng dùng đ ch nhng nhng ng dng hay

phn mm có th truy cp thông qua trình duyt trên h thng mng nh Internet. ây
chính là nhng ng dng chy trên máy tính phía server, kt ni vi máy tính ngi
dùng thông qua h thng mng và đc mư hóa bng mt ngôn ng nào đó mà trình
duyt web có th hiu đc nh HTML, JavaScript, (gi là ngôn ng phía client).

14

2.3.2. Lch s hình thành
Trc đây, trong mô hình client-server, mi ng dng gm có hai thành phn
riêng bit: mt cài đt phía sever và mt cài đt phía client. Chng trình phía client
cung cp giao din ngi dùng và phi đc cài đt riêng l trên tng máy tính. Khi
nâng cp chng trình, ngoài vic thay đi  server cng cn phi cp nht li trên mi
client.
Mô hình này có u đim là kh nng tp trung hóa d liu, bo mt h thng.
Tuy nhiên, trc s tng trng nhanh chóng v quy mô ca các doanh nghip, yêu
cu v li nhun đư khin công ngh client-server truyn thng bc l nhc đim:
 Khó duy trì, nâng cp h thng và h tr ngi dùng: Mi khi chng
trình có cp nht, cn phi thay đi toàn b nhng ng dng trên mi
máy tính phía client.
 Hn ch v mt kt ni: Các h thng client-server có thit k khác nhau,
da trên nhng đc t kt ni (giao thc) không ging nhau.
 Tính di đng kém: Công ngh client-server đòi hi ngi dùng gn cht
vi máy tính ca mình đ s dng ng dng cài đt trên đó. Thc t,
điu này không kh thi vì không phi lúc nào ngi dùng đu làm vic
trên máy tính ca mình.
 Không tng thích v phn cng và h điu hành: Mt h thng khi trin
khai trên phm vi rng s gp phi khó khn bi nhng khác bit v h
tng công ngh.
S ra đi ca công ngh Web 2.0 đư thúc đy bc phát trin mi cho ng dng.
Công ngh Web chính là mt công ngh client-server, trong đó trình duyt web đóng

vai trò là client, còn h thng cung cp trang web đó đóng vai trò là server. Vi Web
2.0, khi ngi dùng có th tác đng vào d liu thì vic s dng ng dng thông qua
trình duyt không khác gì so vi trên máy tính cá nhân.
Cách thc hot đng ca nhng ng dng nn web rt đn gin: Trình duyt
web gi các truy vn cho server theo giao thc HTTP; server nhn lnh, thc thi yêu
cu và gi tr kt qu v trình duyt và hin th lên màn hình ca ngi dùng. Ngôn
ng kch bn phía ngi dùng (client-script)  dng ngôn ng chun nh JavaScript,
và nhng ngôn ng khác dành cho hin th giao din nh CSS, ActionScript. Ngôn
ng kch bn phía server (server-script) có th là PHP, ASP, JSP, …

×