1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

100 286 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 5,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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... Nói cách khác, nó cho phép

Trang 1

Nguy n V ng Khang 1051010072

Tp H Chí Minh, tháng 06 n m 2014

Trang 2

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

Trang 3

Tp.HCM, ngày … tháng … n m …

Gi ng viên h ng d n

Trang 4

Tp.HCM, ngày … tháng … n m …

Giáo viên ph n bi n

Trang 5

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

Trang 6

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

Trang 7

DANH M C CÁC T VI T T 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

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

URL Uniform Resource Locator nh v Tài nguyên Th ng nh t

Trang 8

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

Trang 9

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

Trang 10

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

Trang 12

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”,

Trang 13

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

Trang 14

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

Trang 15

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 mail, web, trình duy t, media player, k thu t truy n audio/video t c đ th p, k thu t

Trang 16

e-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à

 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

 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ó

Trang 17

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, …

Trang 18

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

Trang 19

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

Trang 20

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]:

Trang 21

 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 đó,

Trang 22

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: http://www.technomagzine.com)

Trang 23

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: http://www.technomagzine.com)

B ng d i đây ch ra s khác bi t gi a hai công ngh web:

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

Trang 24

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)

Trang 25

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, …

Trang 26

Có th th y, ng d ng n n web có nhi u thu n l i h n, đ c bi t khi tri n khai cho doanh nghi p.

 D ti p c n v i ng i dùng: Ng i dùng đư quá quen thu c v i cách s

d ng trình duy t, th m chí khi cài m i và nâng c p m t trình duy t c ng không ph i quá khó kh n

 Chu n hóa giao th c và b o m t truy n nh n d li u: Giao ti p gi a trình duy t phía client và server đ u tuân theo giao th c http, là m t giao th c

đ c đa s các công ty chuyên v an ninh m ng th a nh n Ngày nay, tính b o m t càng đ c nâng cao v i giao th c HTTPs ây là m t s

k t h p gi a giao th c HTTP và giao th c b o m t SSL hay TLS cho phép trao đ i thông tin m t cách b o m t trên Internet

 Tính di đ ng: Ng i dùng có th s d ng trình duy t đ truy c p vào

m t trang web b t k đâu có k t n i Internet, k c trên máy tính cá nhân hay thi t b di đ ng

 Không ph thu c vào ph n c ng ho c h đi u hành: Trình duy t web có

m t trên t t c các máy tính, th c thi câu l nh đ c l p d a trên ngôn ng HTML và JavaScript, m i thao tác x lý đ u đ c th c thi trên server

2.3.4 Mô hình MVC

d qu n lý các thành ph n c a h th ng, c ng nh không b nh h ng b i

nh ng thay đ i, vi c thi t k ng d ng nên đ c chia thành t ng nhóm có cùng ch c

n ng v i nhau và phân trách nhi m cho t ng nhóm đ công vi c không b ch ng chéo

và nh h ng l n nhau

MVC (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ó giúp cho các nhà phát tri n ng d ng web tách ng d ng c a h ra 3 thành ph n khác nhau, g m Model, View và Controller

M i thành ph n có m t nhi m v riêng bi t và đ c l p v i các thành ph n khác

Trang 27

Khi vi t ng d ng, ng i l p trình th ng có xu h ng đ a t t c m i th lên

m t trang, t các dòng l nh PHP, HTML, … cho đ n nh ng x lý k t n i Thao tác này không h giúp ng i l p trình làm công vi c t t h n, mà còn khi n cho vi c l p trình c a h càng thêm r c r i Mô hình MVC h tr cho vi c qu n lý các mư l nh c a

c u t url và bi u m u đ thao tác tr c ti p v i thành ph n Model

Hình 2.3- Mô hình MVC (ngu n: www.wikipedia.com)

Lu ng s ki n đ c x lý trong MVC có th đ c mô t đ n gi n b ng các b c sau:

 Ng i dùng t ng tác v i View, b ng cách click vào nút (button), ng i dùng g i yêu c u đi

 Controller nh n và đi u h ng chúng đ n đúng ph ng th c x lý t ng Model

 Model nh n thông tin và th c thi các yêu c u

Trang 28

Khi t ng Model hoàn t t vi c x lý, t ng View s nh n k t qu t Model và hi n

th l i cho ng i dùng

2.3.5 K t lu n

Công ngh Web 2.0 cho phép đóng gói, x lý, l u tr và truy n t i d li u t server t i client Nói cách khác, nó cho phép ng i dùng t ng tác vào h th ng Chính đ c đi m này mà ng d ng web đ c phát tri n r ng rưi D i góc đ k thu t,

ng d ng web đ c xem là m t mô hình ng d ng client-server c i ti n D i góc đ

ch c n ng, ng d ng Web là các ch ng trình máy tính cho phép ng i dùng đ ng

nh p, truy v n d li u qua m ng Internet trên trình duy t web ng d ng web không

h là m t khái ni m m i l , nó ch thay đ i môi tr ng cài đ t t máy tính c c b lên

Ph n m m ngu n m là ph n m m v i mư ngu n đ c công b và s d ng m t

gi y phép ngu n m Gi y phép này cho phép b t c ai c ng có th nghiên c u, thay

đ i và c i ti n ph n m m, và phân ph i nó d ng ch a thay đ i ho c đư thay đ i [9]

2.4.1.1 u và nh c đi m

u đi m:

 T do sao chép, chia s : do ít b ràng bu c v quy n s h u, b t k ai

c ng có th đ c đ c mư ngu n và thay đ i mư ngu n c a ng d ng

 Nhi u b n phân ph i, không b ràng bu c vào nhà cung c p: m i ng

d ng đ u đa d ng v phiên b n do đ c nhi u ng i đóng góp, ch nh s a

 B o m t t t: tr i qua nhi u phiên b n, mư ngu n m d n đ c hoàn thi n

v kh n ng b o m t, do đó ng i l p trình có th yên tâm s d ng các ngôn ng mư ngu n m đ vi t ng d ng

 D dàng thay đ i, phát tri n theo m c đích: c u trúc t ch c th m c trong

d án (project) đ n gi n, thao tác sao chép, di chuy n các đo n mư c ng nhanh chóng nên r t ti n l i cho ng i l p trình

Trang 29

 H tr c ng đ ng cao: m i ng i đ u có th đ c đ c mư ngu n và cùng tham gia phát tri n, c p nh t ho c vá l i cho m t ng d ng

 Quá nhi u phiên b n: m i phiên b n có tính n ng riêng tùy vào m c đích

c a ng i phát tri n cu i cùng, do đó gây khó kh n cho ng i l p trình khi mu n xây d ng m t ng d ng

 Nh p nh ng v b n quy n: do ng d ng có th đ c xây d ng t nhi u

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 t a 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

Ti n thân c a ngôn ng này xu t phát t m t s n ph m có tên là PHP/FI (PHP/FI

do Rasmus Lerdorf t o ra n m 1995, s d ng các mư k ch b n Perl) Sau này, ông đư

vi t ra m t b th c thi b ng C l n h n đ có th truy v n các c s d li u và giúp

ng i s d ng phát tri n các ng d ng web đ n gi n [1]

Hi n t i, PHP đ c s d ng ph bi n v i phiên b n 5.0 nh ng phiên b n 6.0 đang phát tri n v i hy v ng kh c ph c nh ng khi m khuy t c a các phiên b n tr c đó

2.4.2.2 c đi m

PHP ch phân tích các đo n mư n m trong nh ng d u gi i h n c a nó Các d u

gi i h n th ng dùng bao g m:

 <?php và ?>, t ng ng v i d u gi i h n m và đóng

Trang 30

 <script language="php"> và </script>

 <? hay <?= và th đóng ?>, là cách vi t d u gi i h n d ng th ng n

PHP có v g n gi ng v i JavaScript và VBScript, nh ng tuy đ c g n chung vào

v i HTML, PHP l i hoàn toàn khác v i JavaScript vì nó đ c ch y trên h th ng server i u này có ngh a là ng i dùng ch th y đ c mư HTML mà không th y đ c

mư PHP, c c u làm vi c phía sau đ c gi u kính hoàn toàn

V cú pháp các t khóa và ngôn ng , PHP t ng t h u h t các ngôn ng l p trình b c cao có cú pháp ki u C Các hàm tr v đ u t ng t cú pháp c a các ngôn

ng nh C, C++, Java và Perl Riêng các bi n đ c xác đ nh b ng cách thêm vào tr c

m t d u đô la ($) và không c n xác đ nh tr c ki u d li u

2.4.2.3 u và nh c đi m

u đi m

u đi m đ u là s d ng mư ngu n m (có th ch y trên Apache ho c IIS) u

đi m này khuy n khích các doanh nghi p v a và nh khi h mu n xây d ng m t h

th ng website cho riêng mình v i chi phí th p H n n a, đi kèm theo đó là h qu n tr

c s d li u MySQL cùng nhi u h th ng CMS (Content Management System – H

th ng qu n lý n i dung) mi n phí V i u đi m này, PHP ph bi n h n ASP

Th hai, do cú pháp c a PHP r t gi ng v i C, đ ng th i đ c g n chung vào v i ngôn ng HTML và s d ng HTML đ đ nh d ng nên đ i v i ng i l p trình, PHP r t

d h c n u đư làm quen v i HTML và m t s ngôn ng l p trình C khác

Và cu i cùng, PHP có th ho t đ ng trên Linux, trên IIS c a Microsoft Windows,

m r ng kh n ng th c thi c a nó trên nhi u môi tr ng h đi u hành khác nhau

Nh c đi m

Vì HTML đ c g n chung v i PHP nên trong nhi u tr ng h p, mư ngu n trên trang web không rõ ràng, gây lúng túng cho ng i l p trình khi mu n ch nh s a

Nh c đi m k ti p là PHP ch ch y trên các ng d ng web i u này h n ch

kh n ng m r ng sang nh ng l nh v c khác nh ng d ng c c b trên máy tính ho c

ng d ng trên di đ ng

2.4.3 Zend Framework 2

Framework là m t th vi n các l p đư đ c xây d ng hoàn ch nh, là b khung đ phát tri n ng d ng PHP c ng đ c c ng đ ng xây d ng nên nhi u framework khác nhau PHP frameworks cung c p m t c u trúc c b n đ xây d ng m t ng d ng nh m

Trang 31

làm cho ng d ng tr nên trôi ch y h n Nói cách khác, PHP framework giúp ng i

l p trình ti t ki m đ c th i gian, t ng s n đ nh c a ng d ng, gi m thi u s l n

ph i vi t l i mư, đ ng th i cung c p c ch t ng tác chính xác gi a c s d li u, mư

l nh (PHP) và giao di n (HTML) Ý t ng chung đ ng sau cách th c làm vi c c a

nh ng PHP framework chính là mô hình MVC

M t trong nh ng PHP framework đ c s d ng ph bi n là Zend

2.4.3.1 Gi i thi u

Zend là m t framework đu c xây d ng d a trên ngôn ng PHP và mô hình MVC

Nó giúp tách các thành ph n x lý ra m t cách rõ ràng, làm cho mư l nh d dàng qu n

lý, ch nh s a và nâng c p

Zend Framework 2 (ZF2) ra m t vào tháng 9 n m 2012, v i r t nhi u thay đ i so

v i phiên b n đ u tiên ây là m t framework mư ngu n m dùng cho vi c phát tri n các ng d ng web s d ng PHP 5.3, hoàn toàn h ng đ i t ng c ng nh áp d ng h u

h t các đ c đi m m i c a PHP 5.3 nh không gian tên (namespace), k thu t s d ng khóa static (late static binding) và cú pháp lambda

 Cung c p m t mô hình MVC m nh m có hi u su t cao

 Thành ph n Form h tr HTML5, t o giao di n, ki m tra đi u ki n đ u và

l c d li u…

Trang 32

2.4.3.3 Ki n trúc MVC trong Zend Framework 2

Trong Zend, nguyên t c thi t k ng d ng c ng tuân theo mô hình MVC chu n Zend\Mvc là m t nhánh th c hi n MVC m i đ c thi t k cho ZF2, t p trung vào hi u

su t và tính linh ho t

Hình 2.4- Ki n trúc MVC trong Zend (ngu n: http://www.itnewsoftechnology.com)

M t s thành ph n tiêu bi u c a l p MVC:

 Zend\Mvc\Application (g i t t là “Application”): kh i t o tài nguyên,

đ nh tuy n request, nh n và g i controller phù h p trong các quá trình

đ nh tuy n Sau khi hoàn thành, sau đó xu t sang view, hoàn thành các request, tr v và g i response

 Zend\Mvc\Controller: m t t p h p các l p “controller”, m i controller

g m nhi u action Action làm nhi m v đi u khi n ho t đ ng request và response trên m t trang web

 Zend\Mvc\Router: ch a các l p liên quan đ n đ nh tuy n m t request Nói cách khác, nó n i các request t i các controller t ng ng c a nó

 Zend\Mvc\Service: cung c p m t t p h p các y u t và đ nh ngh a ServiceManager

 Zend\Mvc\View: hi n th thông tin lên trang web thông qua các th HTML

2.4.3.4 Module trong Zend

Module là m t nhóm trong đó có ch a các thành ph n c a website ph c v cho

m t ch c n ng hoàn ch nh nào đó Trong ZF2 t t c đ u đ c t i u hóa thành module

Vi c xây d ng ng d ng theo module giúp rút ng n th i gian l p trình c ng nh phân công công vi c cho t ng nhóm phát tri n, c ng nh kh n ng tái s d ng t nh ng d

án khác Module trong Zend có th ch a: mư PHP, th vi n thi t k s n, view script và các tài nguyên dùng chung nh hình nh, CSS, và JavaScript

Trang 33

Tr c tiên, ng i l p trình c n t i v b khung c a ZF2 [xem ph l c E], trong

đó m c đ nh có module m u Application Nh ng module khác do ng i l p trình thêm vào nh ng v n ph i đ m b o nguyên t c đ c tên và c u trúc gi ng nh module m u

H th ng module đ c t o thành nh sau:

 Module Autoloader: ây là thành ph n đ c bi t giúp cho vi c x lý các namespace, mapping, và l u gi các instance khi c n x lý

 Module Manager: Qu n lý module và các c u hình c a module, đi u khi n

vi c n p module khi th c thi ng d ng

 ModuleManager Listeners: Các Event listener có th đ c g n v i nhi u

s ki n khác nhau c a module manager Chúng có th làm m i vi c t

vi c gi i quy t và n p các module t i vi c kh i t o nh ng tác v ph c t p

2.4.3.5 nh tuy n trong Zend

nh tuy n (routing) trong Zend hi u c b n là vi c ch đ nh vi c g i m t action trong controller t ng ng cho m t view và hi n th đ ng d n này lên thanh đ a ch URL c a trình duy t web ZF2 có kh n ng ánh x đ a ch URL r t m nh m khi cung

c p ph ng pháp r t linh ho t trong vi c ánh x URLs sang cho controller Ngoài ra, ZF2 còn có kh n ng phân tích URL, chuy n các thông s trong URL thành các tham

s trong ph n g i hàm c a controller

Có nhi u ph ng pháp đ nh tuy n trong ZF2, m t trong s đó là segment u tiên c n ph i ch đ nh hình d ng đ ng d n trong tham s “route”, k đ n là đ nh d ng

ký t đ c phép cho m i segment c a route trong tham s “constraints”, và cu i cùng

là ch ra action m c đ nh c a m i controller trong tham s “defaults”

Trang 34

"Driver" c a Zend\Db adapter Nó c ng t o ra m t l p tr u t ng, g i là "Platform"

c a adapter, cho các ngu n khác nhau mà m i nhà cung c p platform c th có th có

đ k t n i t i h qu n tr c s d li u

k t n i t i c s d li u, c n t o m t adapter b ng cách s d ng l p Zend\Db\Adapter\Adapter Thông th ng, m t m ng c u hình ho c m t t p tin xml

ch a các thông tin c u hình c s d li u s đ c dùng đ k t n i v i adapter

$adapter = new \Zend\Db\Adapter\Adapter(array(

'driver' => '<tên driver>',

'database' => '<tên c s d li u>',

 Pdo_Mysql: dành cho MySQL thông qua m r ng PDO

 Pdo_Sqlite: dành cho SQLite thông qua m r ng PDO

 Pdo_Pgsql: PostgreSQL thông qua m r ng PDO

Trang 35

ZendDbSql

Zend\Db\Sql là m t l p tr u t ng dùng đ xây d ng các truy v n SQL c b n,

c th thông qua API h ng đ i t ng K t qu cu i cùng c a đ i t ng Zend\Db\Sql

s v a t o ra m t câu l nh (statement) và câu l nh ch a bi n (parameter container) đ i

di n cho truy v n đích, ho c là m t chu i đ y đ có th th c thi tr c ti p trên n n t ng

$select = $sql->select(); // tr v đ i t ng Zend\Db\Sql\Select

$insert = $sql->insert(); // tr v đ i t ng Zend\Db\Sql\Insert

$update = $sql->update(); // tr v đ i t ng Zend\Db\Sql\Update

$delete = $sql->delete(); // tr v đ i t ng Zend\Db\Sql\Delete

B ng 2.4- Truy v n c s d li u s d ng Zend\Db\Sql trong ZF2

ZendDb TableGateway

i t ng TableGateway đ c dùng đ cung c p m t đ i t ng đ i di n cho m t

b ng trong c s d li u, và các ph ng th c c a đ i t ng này ánh x đ n nh ng thao tác t ng t nh trong b ng c a c s d li u Có hai implementation (k th a t

interface) chính hi u qu nh t là: AbstractTableGateway và TableGateway

 AbstractTableGateway là m t implementation c s tr u t ng cung c p các ch c n ng nh select(), insert(), update(), delete() th c hi n các công

vi c t ng t nh các đ i t ng SQL, và các ph ng th c selectWith(), insertWith(), updateWith() và deleteWith()…

 TableGateway đ n gi n ch c n thêm m t ph ng th c kh i t o h p lý cho l p AbstractTableGateway i t ng TableGateway c th đ c

kh i t o hàm kh i t o Tên b ng và th hi n c a m t adapter c n thi t đ thi t l p m t đ i t ng làm vi c TableGateway Khi m t ph ng th c

đ c th c thi (ch ng h n select()), m t đ i t ng ResultSet s đ c tr v

Trang 36

trong ZF2 là s d ng l p Zend/Form ZendForm h tr các hàm d ng s n đ ki m tra

ho c l c d li u đ u vào, giúp cho ng i l p trình thu n l i h n trong vi c ki m tra d

li u tr c khi l u vào c s d li u M t cách tr u t ng, ZendForm chính là c u n i

gi a model và view

Các b c t o m t bi u m u s d ng ZendForm:

 Khai báo bi u m u trong action controller

 T o m t view script đ hi n th bi u m u này

 Thêm nh ng ki m ch ng đ ràng bu c d li u trong ph n form b ng cách

s d ng các Validation mà th vi n Zend cung c p Trong ph n này, có

th xu t l i n u nh d li u nh p vào vi ph m quy t c ki m ch ng

 Quay l i controller, ph i xét n u d li u nh p vào là h p l m i th c hi n

nh ng công vi c ti p theo thông qua hàm isValid()

Th ba, tài li u v Zend r t nhi u và đa d ng, giúp cho ng i l p trình d ti p

c n t c b n đ n nâng cao Tuy nhiên, s l ng tài li u chính th ng b i nh ng ng i

có uy tín trong ngành l p trình vi t ra l i không nhi u

Th t , Zend h ng đ n mô hình MVC, v n là m t trong nh ng l a ch n r ng rưi nh t khi phát tri n ng d ng web Các module c a MVC và kh n ng phân tách

gi a ph n d li u và ng d ng chính là nguyên nhân chính đ ng sau s ph bi n c a

nó M t l i th khác là Zend h tr h u h t các c s d li u hi n nay, giúp cho ng i

l p trình không c n ph i b n tâm l a ch n

Nh c đi m

V n đ đ u tiên, tuy Zend là m t th vi n mi n phí nh ng bên c nh đó, các ti n ích c a m t hưng phát tri n th ba l i có tính phí, đôi khi r t đ t Có m t s ti n ích

Trang 37

c n thi t trong quá trình phát tri n ng d ng và đ có đ c nó, ng i l p trình c n ph i

t n m t kho n chi phí khá l n

V n đ th hai, do b th vi n khá đ s nên trong đó ch c ch n ch a r t nhi u

l p đ m nh n nh ng công vi c khác nhau i u này gây khó kh n và t n th i gian tìm

hi u cho ng i l p trình ng d ng khi mu n tìm ki m chính xác m t l p mà h quan tâm, m c dù tài li u h ng d n r t đa d ng

V n đ th ba, có m t s thay đ i r t khác bi t hai phiên b n, khi n cho vi c c p

nh t ng d ng tr nên r c r i H u h t m i th đ u thay đ i, t cách thi t l p route, tên

l p, cú pháp, … khi chuy n t phiên b n 1 lên 2 Th m chí nh ng ng i v n đư rành

v Zend phiên b n c c ng c m th y khó kh n khi tìm hi u phiên b n hi n t i

Và cu i cùng, cú pháp c a Zend t ng đ i khó vi t, đ c bi t là v i nh ng ng i

m i ch p ch ng làm quen v i ngôn ng PHP H s c m th y gi a Zend và PHP có

m t s khác bi t r t l n Nh ng ng i này cho bi t, cú pháp c a Zend, theo nh

h ng d n chính th ng, có v r t “hàn lâm”

2.4.3.9 Nh n xỨt

Zend Framework là 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 l p trình theo mô hình MVC Vi c l p trình đ c chia thành

t ng module, tách b ch gi a t ng ph n x lý cho website, nó giúp cho mư l nh c a

2.4.4.2 c đi m

MySQL là t p h p các đ i t ng: b ng, b ng o, … cho phép ng i dùng l u tr

và truy xu t các thông tin đư đ c t ch c và l u tr bên trong [1]

MySQL s d ng Ngôn ng truy v n có c u trúc (SQL) đ l y d li u t c s d

li u Ng i dùng có th s d ng giao di n đ h a (ch ng h n công c phpMyAdmin) hay dùng dòng l nh (command line) đ th c hi n các thao tác trên c s d li u

Trang 38

M i b ng trong c s d li u khi t o ra s đ c l u tr b ng ba t p tin v t lý:

li u nhanh và h tr m nh cho các ch c n ng chuyên d ng c a web nh tìm ki m v n

b n Do đó, MySQL r t thích h p cho các ng d ng có truy c p c s d li u trên Internet

Nh c đi m

K t khi Oracle mua l i MySQL t hưng Sun Microsystems vào n m 2010, nó không còn hoàn toàn là m t ph n m m mư ngu n m n a D i s qu n lý c a Oracle, MySQL hi n có phiên b n tr phí, module mư ngu n đóng H n n a, công ty này đư không ch p nh n các b n vá l i ho c cung c p m t h ng phát tri n dành cho công

đ ng M t khác, m t s tên tu i l n nh Red Hat Enterprise Linux, Fedora, Slackware Linux, openSUSE và Wikimedia Foundation đ u đư chuy n sang dùng MariaDB Tuy nhiên, v i phiên b n chu n, MySQL v n hoàn toàn mi n phí

Trang 39

CH NG 3: HI N TH C NG D NG

3.1 Gi i thi u ng d ng

H c t p đ i v i m i ng i là m t vi c làm quan tr ng và không bao gi ng i ngh Ngày nay, s phát tri n c a Internet và công ngh di đ ng đư t o thêm đi u ki n

h tr nhu c u chính y u này M t ph ng pháp h c t p m i xu t hi n và ngày càng

đ c nhi u ng i s d ng, nh t là trong gi i tr , đó là h c qua m ng Nh có Internet

và thi t b di đ ng, ng i h c có th linh đ ng ti p thu ki n th c m i lúc, m i n i và

đ c bi t là cùng nhau trao đ i v i nh ng ng i h c khác

T th c t này, EdusOne ra đ i v i mong mu n k t n i m i ng i trong th gi i

c a tri th c ây là m t ng d ng web cho phép ng i dùng tham gia nh ng l p h c trên m ng ng d ng đ c vi t b ng ngôn ng PHP, s d ng Zend Framework 2.0 và

h qu n tr c s d li u MySQL, trong môi tr ng l p trình Zend Studio 10.5

3.1.1 Ý ngh a và ch c n ng c a ng d ng

3.1.1.1 Ý ngh a

EdusOne s d ng trình duy t web đ truy c p ng d ng này cho phép gi ng viên m l p và truy n t i ki n th c đ n ng i h c, còn ng i h c đ ng ký các l p đư

đ c m , đ ng th i trao đ i v i nh ng h c viên cùng l p, làm bài thi đ ki m tra n ng

l c c a mình Ngoài ra, v i nh ng h c viên nh tu i, ng d ng còn cho phép ph huynh theo dõi và giám sát quá trình h c t p c a con cái

o T i lên bài gi ng, c p nh t bài gi ng

o T o đ thi, cho thi, ch m bài

o Thông báo đi m t i ph huynh (đư k t n i v i h c viên t ng ng)

 i v i h c viên:

o Tìm l p, đ ng ký tham d l p

o Làm bài thi

Trang 40

Hình 3.1- Các module trong ng d ng EdusOne

Ngày đăng: 18/05/2015, 02:27

HÌNH ẢNH LIÊN QUAN

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 - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
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 (Trang 22)
Hình 2. 3-  Mô hình MVC  (ngu n: www.wikipedia.com) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
Hình 2. 3- Mô hình MVC (ngu n: www.wikipedia.com) (Trang 27)
Hình 2. 4- Ki n trúc  MVC trong Zend (ngu n: http://www.itnewsoftechnology.com)  M t s   thành ph n tiêu bi u c a l p MVC: - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
Hình 2. 4- Ki n trúc MVC trong Zend (ngu n: http://www.itnewsoftechnology.com) M t s thành ph n tiêu bi u c a l p MVC: (Trang 32)
Hình 3. 2-  Mô hình ý ni m truy n thông c a  ng d ng - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
Hình 3. 2- Mô hình ý ni m truy n thông c a ng d ng (Trang 43)
Hình  3.3-  Mô hình ý ni m x   lý (quy trình  ng ký ) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.3- Mô hình ý ni m x lý (quy trình ng ký ) (Trang 46)
Hình  3.4-  Mô hình ý ni m x   lý (quy trình  ng nh p /  ng xu t) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.4- Mô hình ý ni m x lý (quy trình ng nh p / ng xu t) (Trang 48)
Hình  3.5-  Mô hình ý ni m x   lý (quy trình  i m t kh u)  Mô t quy trình: - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.5- Mô hình ý ni m x lý (quy trình i m t kh u) Mô t quy trình: (Trang 50)
Hình  3.6-  Mô hình ý ni m x   lý (quy trình  Qu n lý thông tin cá nhân ) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.6- Mô hình ý ni m x lý (quy trình Qu n lý thông tin cá nhân ) (Trang 51)
Hình  3.7-  Mô hình ý ni m x   lý (quy trình  K t n i ph  huynh  –  h c viên ) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.7- Mô hình ý ni m x lý (quy trình K t n i ph huynh – h c viên ) (Trang 53)
Hình  3.8-  Mô hình ý ni m x   lý (quy trình  Qu n lý tài li u) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.8- Mô hình ý ni m x lý (quy trình Qu n lý tài li u) (Trang 55)
Hình  3.9-  Mô hình ý ni m x   lý (quy trình  Qu n lý l p) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.9- Mô hình ý ni m x lý (quy trình Qu n lý l p) (Trang 57)
Hình  3.10-  Mô hình ý ni m x   lý (quy trình Trao đ i)  Mô t quy trình: - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
nh 3.10- Mô hình ý ni m x lý (quy trình Trao đ i) Mô t quy trình: (Trang 59)
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) - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
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) (Trang 62)
Hình 3. 13-  Mô hình ý ni m d  li u c a  ng d ng - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
Hình 3. 13- Mô hình ý ni m d li u c a ng d ng (Trang 63)
Hình 3. 14-  Mô hình logic d  li u c a  ng d ng - Xây dựng ứng dụng học tập trực tuyến sử dụng zend framework 2
Hình 3. 14- Mô hình logic d li u c a ng d ng (Trang 64)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w