TR
NG
I H C KHOA H C T
NHIÊN
KHOA CÔNG NGH THÔNG TIN
L PC
NHÂN TÀI N NG
NG HOÀNG H I
TR N THANH H I
XÂY D NG VÀ PHÁT TRI N
H
TR
CH
NG D NG
SO N TH O, BIÊN D CH VÀ TH C THI
NG TRÌNH TRÊN MÔI TR
KHÓA LU N T T NGHI P C
TP. HCM, 2011
NG WEB
NHÂN CNTT
TR
NG
I H C KHOA H C T
NHIÊN
KHOA CÔNG NGH THÔNG TIN
L PC
NHÂN TÀI N NG
NG HOÀNG H I – 0712142
TR N THANH H I – 0712145
XÂY D NG VÀ PHÁT TRI N
H
TR
CH
NG D NG
SO N TH O, BIÊN D CH VÀ TH C THI
NG TRÌNH TRÊN MÔI TR
KHÓA LU N T T NGHI P C
GIÁO VIÊN H
NHÂN CNTT
NG D N
PGS.TS. TR N AN TH
KHÓA 2007 – 2011
NG WEB
NH N XÉT C A GIÁO VIÊN H
NG D N
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
TP. H Chí Minh, ngày ….. tháng …… n m 2011
Giáo viên h
i
ng d n
NH N XÉT C A GIÁO VIÊN PH N BI N
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Khóa lu n đáp ng yêu c u c a Khóa lu n c nhân CNTT.
TP. H Chí Minh, ngày ….. tháng …… n m 2011
Giáo viên ph n bi n
ii
L IC M
N
Chúng em xin chân thành c m n Khoa Công ngh Thông tin, tr
ng
i h c Khoa
h c T nhiên TP. H Chí Minh đã t o đi u ki n cho chúng em th c hi n đ tài khóa
lu n t t nghi p này.
Chúng em xin g i l i c m n sâu s c đ n PGS.TS. Tr n
ti p h
an Th , ng
i đã tr c
ng d n và t n tình ch b o chúng em trong su t th i gian th c hi n đ tài. Th y
đã truy n đ t cho chúng em nhi u ki n th c quan tr ng, c ng nh nhi u ý t
ng thú v ,
là ngu n đ ng l c đ chúng em th c hi n đ tài v i tinh th n làm vi c và nghiên c u
khoa h c nghiêm túc.
Chúng em xin chân thành c m n các Th y và các Cô trong Khoa đã cho chúng em
nh ng ki n th c quý báu trong su t th i gian khóa h c, cho chúng em m t n n t ng lý
thuy t v ng ch c và nh ng k thu t c b n thi t y u.
TS. Tr n Minh Tri t, ng
c bi t chúng em mu n c m n
i đã giúp đ , gi i đáp các th c m c chúng em g p ph i trong
quá trình th c hi n đ tài. Chúng em c ng mu n mu n c m n Th y Nguy n
Kh
ng, ng
ình
i đã giúp đ t i em r t nhi u trong quá trình tri n khai th nghi m đ tài.
Chúng con xin chân thành c m n b m , anh ch em và t t c ng
i thân trong gia
đình đã t o m i đi u ki n t t nh t, đ ng viên khích l chúng con trong quá trình h c
t p nói chung và quá trình làm khóa lu n t t nghi p nói riêng.
Chúng tôi xin g i l i c m n đ n t t c các Th y Cô gi ng viên c a Khoa và b n bè
trong và ngoài n
c đã tham gia th nghi m s n ph m c a chúng tôi, h tr và đóng
góp ý ki n đ chúng tôi hoàn thi n đ tài này.
V i tinh th n làm vi c nghiêm túc, chúng em đã hoàn thành đ
ban đ u c a khóa lu n. Tuy nhiên đây ch m i là nh ng b
iii
c m c tiêu đ ra
c th nghi m ban đ u, vì
th chúng em mong mu n nh n đ
c s giúp đ , ch b o và góp ý c a các Th y Cô và
các b n đ không ng ng hoàn thi n c mô hình lý thuy t l n ng d ng.
TP. H Chí Minh, tháng 6 n m 2011
iv
Khoa Công Ngh Thông Tin
L p C nhân tài n ng
C
Tên
thi ch
NG CHI TI T
Tài: Xây d ng và phát tri n ng d ng h tr so n th o, biên d ch và th c
ng trình trên môi tr ng Web.
Giáo viên h
ng d n: PGS.TS. Tr n an Th
Th i gian th c hi n: t 18/10/2010 đ n 25/06/2011.
Sinh viên th c hi n:
ng Hoàng H i – 0712142
Tr n Thanh H i – 0712145
Lo i đ tài:
Tìm hi u công ngh và phát tri n ng d ng, c th là tìm hi u công ngh l p
trình Web đ xây d ng m t ng d ng Web theo yêu c u đ c t c a đ tài.
Nghiên c u và t ng h p hi n tr ng các v n đ khoa h c liên quan đ n h ng
phát tri n c a đ tài đ làm c s xây d ng, phát tri n ng d ng theo yêu c u
c a đ tài.
N i Dung
Tài:
N i dung và yêu c u đ tài:
Nghiên c u và t ng k t hi n tr ng v các công c và môi tr
th o mã ngu n, biên d ch và th c thi trên môi tr ng Web.
ng h tr so n
Nghiên c u các công ngh l p trình Web, các h th ng th vi n l p trình
Web, các h mã ngu n m cho phép phát tri n ng d ng Web theo giao di n
thân thi n v i ng i dùng cu i.
Tri n khai thi t k và cài đ t ng d ng d a trên các k t qu nghiên c u, đáp
ng đ c các nhu c u c b n trong ho t đ ng so n th o mã ngu n, biên d ch
v
và th c thi ch
Ph
ng trình trên môi tr
ng Web.
ng pháp th c hi n:
T n d ng các ngu n tham kh o trên Web, thông qua các trang báo đi n t ,
di n đàn c a các đ i ng phát tri n, các blog c a các l p trình viên bên c nh
các tài li u chính th c nh sách và bài báo khoa h c.
T n d ng các s n ph m có s n nh trình biên d ch, h đi u hành và các ph n
m m mã ngu n m .
Luôn ghi chép và l u tr c n th n các tài li u phát sinh và các ki n th c thu
th p đ
c trong quá trình th c hi n đ làm c s vi t báo cáo khóa lu n.
K t qu khóa lu n:
ng d ng th nghi m cung c p d ch v h tr so n th o mã ngu n, biên d ch
và th c thi trên môi tr ng Web. ng d ng th hi n các k t qu nghiên c u
c a đ tài và đ c tri n khai th nghi m tr c tuy n.
Báo cáo t ng h p nghiên c u hi n tr ng v các công c và môi tr ng h tr
so n th o mã ngu n, biên d ch và th c thi, các công ngh và các th vi n l p
trình Web t ng ng, mô hình thi t k và cài đ t ng d ng th nghi m cùng
các h ng phát tri n ng d ng trong t ng lai.
K Ho ch Th c Hi n:
18/10/2010 – 30/10/2010: Ti p nh n đ tài
Nhóm liên h giáo viên h
sau đó ti p nh n đ tài.
ng d n, nghe gi i thi u và th o lu n v đ tài,
1/11/2010 – 20/11/2010: Tìm hi u các s n ph m hi n có, đánh giá kh thi
Nhóm tìm hi u tình tr ng các ng d ng t ng t , tìm ki m nh ng công c c
b n đ có th xây d ng b n m u đ u tiên.
22/11/2010 – 18/12/2010: Xây d ng b n m u đ u tiên
Nhóm xây d ng b n m u đ u tiên – c s đ đánh giá tính kh thi c a đ tài.
10/01/2011 – 19/02/2011: Xác đ nh và phân tích các yêu c u
Nhóm nghiên c u chi ti t các ng d ng hi n có, xác đ nh các yêu c u ch c
n ng, tìm hi u c ch ho t đ ng c a các thành ph n; ch n l c và gi i h n các
vi
ch c n ng s tri n khai; phân tích và th o lu n các thành ph n chi ti t, li t kê
các k ch b n ng i dùng.
21/02/2011 – 19/03/2011: Tìm hi u công ngh l p trình Web và các gói mã
ngu n m
Nhóm nghiên c u các chu n và các công ngh l p trình Web hi n đ i; tìm
ki m các công c và các gói mã ngu n m có th đáp ng các yêu c u c a đ
tài; ch n l a các chu n và công ngh đ phát tri n ng d ng.
28/02/2011 – 16/04/2011: Thi t k và ch nh s a thi t k
Nhóm ti n hành thi t k c th các thành ph n ch c n ng, các c ch giao
ti p, các k ch b n ho t đ ng c a ng d ng và giao di n c a ng d ng.
07/03/2011 – 10/06/2011: Cài đ t và ch nh s a cài đ t
Nhóm ch n l a các gói mã ngu n m thích h p, ch nh s a theo yêu c u và
gi i h n đ tài, l p trình khung ng d ng, b sung các thành ph n còn thi u.
Nhóm th c hi n ki m th đ n v và ch nh s a các thành ph n.
23/05/2011 – 30/06/2011: Tri n khai th nghi m và ti p nh n ph n h i
Nhóm tri n khai trang Web tr c tuy n, cung c p d ch v th nghi m; ti p
nh n các ph n h i và hoàn thi n ng d ng; ti n hành kh o sát ng i dùng v
m c đ hài lòng, các yêu c u b sung và các ý ki n đóng góp.
25/04/2011 – 30/06/2011: T ng h p báo cáo
Nhóm t ng h p các nghiên c u đã th c hi n, các tài li u đã ghi chép trong
su t quá trình làm vi c; trình bày các k t qu thành b n báo cáo hoàn thi n.
Xác nh n c a GVHD
Ngày …… tháng …… n m 2011
Sinh viên th c hi n
PGS.TS Tr n an Th
ng Hoàng H i
vii
Tr n Thanh H i
M CL C
L I C M N ................................................................................................................ iii
C
NG CHI TI T ................................................................................................... v
M C L C .................................................................................................................. viii
DANH M C HÌNH ...................................................................................................... xii
DANH M C B NG .................................................................................................... xiii
THU T NG
CH
NG 1.
VÀ CÁC T
VI T T T ......................................................................xiv
GI I THI U ......................................................................................... 1
1.1.
Gi i thi u chung......................................................................................... 1
1.2.
Nhu c u xây d ng môi tr
1.3.
M c tiêu và gi i h n c a khóa lu n ........................................................... 3
1.4.
Các b
1.5.
Tiêu chí và h
1.6.
K t qu khóa lu n ...................................................................................... 5
1.7.
C u trúc c a báo cáo khóa lu n ................................................................. 5
CH
NG 2.
ng phát tri n tích h p trên Web ..................... 2
c ti n hành khóa lu n .................................................................... 3
ng ti p c n c b n ............................................................. 4
NGHIÊN C U KI N TH C N N T NG.......................................... 7
2.1.
L ch s các môi tr
ng phát tri n tích h p ................................................ 7
2.2.
Các công ngh l p trình Web ................................................................... 10
2.2.1.
D ch v Web v i ki n trúc REST ....................................................... 11
2.2.2.
JavaScript ............................................................................................ 14
2.2.3.
C ch Ajax và cú pháp JSON............................................................ 15
2.2.4.
HTML5 ............................................................................................... 17
viii
2.2.5.
PHP ..................................................................................................... 18
2.2.6.
Khung phát tri n ng d ng ................................................................. 19
CH
NG 3.
KH O SÁT VÀ XÁC
NH YÊU C U........................................... 21
3.1.
Kh o sát hi n tr ng .................................................................................. 21
3.2.
Ch c n ng c a ng d ng ......................................................................... 21
CH
NG 4.
4.1.
THI T K H TH NG ..................................................................... 27
Ki n trúc h th ng .................................................................................... 27
4.1.1.
Các thành ph n t i server .................................................................... 28
4.1.2.
Các thành ph n t i client ..................................................................... 29
4.1.3.
Liên l c gi a client và server: d ch v Web REST ............................. 30
4.2.
Thi t k h th ng ..................................................................................... 30
4.2.1.
S đ l p ............................................................................................. 30
4.2.2.
S đ tu n t ....................................................................................... 32
4.2.3.
Giao ti p d ch v Web REST.............................................................. 35
4.3.
CH
Thi t k giao di n..................................................................................... 41
NG 5.
5.1.
CÀI
T VÀ TRI N KHAI H TH NG ........................................ 44
Các thành ph n t i server ......................................................................... 44
5.1.1.
Web server .......................................................................................... 44
5.1.2.
REST API ........................................................................................... 45
5.1.3.
H th ng t p tin ................................................................................... 46
5.1.4.
Trình biên d ch, th c thi và các công c h tr .................................. 47
5.1.5.
Qu n lý c u hình ................................................................................. 47
ix
5.2.
Các thành ph n t i client .......................................................................... 48
5.2.1.
jQuery.................................................................................................. 48
5.2.2.
Trình so n th o mã ngu n Ace ........................................................... 48
5.2.3.
Giao di n client ................................................................................... 49
5.2.4.
Nén mã ngu n ..................................................................................... 53
5.3.
CH
Tri n khai th nghi m tr c tuy n ............................................................ 54
NG 6.
6.1.
K T QU VÀ H
NG PHÁT TRI N ............................................ 58
K t qu khóa lu n .................................................................................... 58
6.1.1.
Ki n th c tìm hi u đ
6.1.2.
So sánh m c tiêu ban đ u và k t qu đ t đ
6.1.3.
6.2.
ng d ng trong môi tr
H
c ..................................................................... 58
c ................................... 59
ng s ph m ................................................. 60
ng phát tri n ...................................................................................... 61
6.2.1.
Các tính n ng b sung ......................................................................... 61
6.2.2.
V n đ b o m t ................................................................................... 63
6.2.3.
H p tác tr c tuy n ............................................................................... 65
6.2.4.
i n toán đám mây ............................................................................. 69
PH L C .................................................................................................................... 71
A.1.
M t s th vi n khung JavaScript ........................................................... 71
A.2.
M t s th vi n khung PHP ..................................................................... 72
A.3.
M t s trình so n th o mã ngu n trên Web ............................................. 74
A.4.
M t s công c t o t p tin qu n lý d án ................................................. 75
A.5.
Các thu t toán m u dùng trong tri n khai th nghi m ............................ 78
x
A.6.
B ng câu h i kh o sát ng
A.7.
H
i dùng tham gia th nghi m ........................ 79
ng d n s d ng ng d ng th nghi m .............................................. 84
TÀI LI U THAM KH O.............................................................................................. 91
xi
DANH M C HÌNH
Hình 4.1 Ki n trúc client – server t ng quan c a h th ng............................................ 28
Hình 4.2 S đ l p c a ki n trúc Web thu n túy ........................................................... 31
Hình 4.3 S đ tu n t m t s k ch b n ho t đ ng c a ng d ng ................................. 33
Hình 4.4 Giao di n t ng quan c a ng d ng ................................................................. 41
Hình 4.5 Giao di n c u hình ng d ng .......................................................................... 42
Hình 4.6 Giao di n th c thi ng d ng đã biên d ch ....................................................... 42
Hình 5.1 Giao di n hoàn ch nh c a ng d ng................................................................ 50
Hình 5.2 Thành ph n thanh th c đ n và công c c a ng d ng ................................... 50
Hình 5.3 Giao di n ng d ng
ch đ so n th o toàn màn hình .................................. 51
Hình 5.4 Giao di n danh sách d án, th m c và t p tin cùng th c đ n ng c nh ....... 51
Hình 5.5 Giao di n thông báo k t qu biên d ch............................................................ 52
Hình 5.6 Giao di n báo l i biên d ch ............................................................................. 52
Hình 5.7 Giao di n c u hình ng d ng .......................................................................... 52
Hình 5.8 Giao di n dòng l nh ........................................................................................ 53
Hình 5.9 Giao di n th c thi ng d ng đã biên d ch ....................................................... 53
Hình 5.10 Trang ch gi i thi u h th ng trên server c a Khoa ..................................... 55
Hình 5.11
ng d ng ch y trên ch đ Application c a trình duy t Chrome ................ 56
Hình 5.12
ng d ng ch y trên máy tính b ng Blackberry Playbook ............................ 57
xii
DANH M C B NG
B ng 1.1 So sánh ng d ng desktop và ng d ng web ................................................... 2
B ng 2.1 S liên h gi a kích th
c mã ngu n, đ i ng phát tri n và công c s d ng 9
B ng 3.1 So sánh m t s s n ph m IDE ngôn ng C/C++ trên n n desktop ................ 22
B ng 3.2 So sánh m t s s n ph m IDE trên n n Web ................................................. 23
B ng 4.1 Các tài nguyên và ph
ng th c t
ng ng trong REST API c a ng d ng .. 37
B ng 6.1 So sánh s n ph m k t qu v i m c tiêu đ t ra ban đ u .................................. 59
xiii
THU T NG
STT T vi t t t
1
Ajax
VÀ CÁC T
VI T T T
Ti ng Anh
Gi i ngh a ti ng Vi t
T p h p các ph
Asynchronous
ng pháp phát tri n
Web đ t o ra các trang Web có tính
JavaScript and XML
t
ng tác cao t i client
Ngôn ng mô t cách th c trình bày
2
CSS
Cascading Style Sheets
và hi n th c a các tài li u vi t b ng
các ngôn ng đánh d u nh HTML
3
4
DOM
HTML
Mô hình dùng đ bi u di n và t
Document Object
tác v i các đ i t
Model
ng
ng trong các tài
li u HTML, XHTML, XML
Ngôn ng đánh d u siêu v n b n –
HyperText Markup
đ
Language
c dùng đ t o ra các thành ph n
c b n c a m t trang Web
Giao th c truy n t i siêu v n b n –
5
HTTP
HyperText Transfer
ph
ng th c giao ti p m ng ph
Protocol
bi n, là n n t ng giao ti p d li u
c a World Wide Web
6
IDE
7
JSON
8
9
Integrated Development
Environment
Môi tr
ng phát tri n tích h p – m t
ph n m m t ng h p nhi u công c
h tr phát tri n ph n m m
JavaScript Object
nh d ng trao đ i d li u đ n gi n
Notation
d a trên ngôn ng JavaScript
JVM
Java Virtual Machine
Máy o Java
MVC
Model – View –
M t m u ki n trúc ph n m m giúp
xiv
Controller
tách bi t các thành ph n d li u, x
lý và hi n th
10
PHP
M t ngôn ng l p trình d ng k ch
PHP: Hypertext
b n ph bi n, đ
Preprocessor
c dùng đ t o ra
các trang Web có n i dung thay đ i
M t ki n trúc ph n m m đ phát
11
REST
Representational State
tri n các h th ng phân tán siêu
Transfer
ph
ng ti n, ph bi n trong các d ch
v Web
M t c ch cho phép m t máy tính
12
RPC
Remote Procedure Call
yêu c u m t máy tính khác th c thi
m t th t c v i các tham s đ
c
cung c p
13
SOAP
14
URI
15
XML
Simple Object Access
M t giao th c đ trao đ i d li u
Protocol
dùng trong các d ch v Web
Uniform Resource
M t chu i kí t dùng đ đ nh danh
Identifier
các tài nguyên trên m ng Internet
M t ngôn ng đánh d u đ nh d ng
eXtensible Markup
d li u v n b n có th d dàng đ
Language
Ghi chú: các gi i ngh a ti ng Vi t đ
m r ng
c trình bày d a trên Wikipedia.
xv
c
CH
NG 1. GI I THI U
1.1. Gi i thi u chung
V i t c đ phát tri n nhanh chóng và tr l
ng thông tin kh ng l , Internet đã tr
thành ngu n tài nguyên vô cùng h u ích trong công vi c c ng nh cu c s ng. Cho t i
nay, t c đ đ
ng truy n Internet, kh n ng x lý c a máy tính, các công ngh và công
c v n không ng ng đ
ngày càng đ
c c i thi n và chu n hóa. Nh đó, các ng d ng trên Web
c b sung nhi u tính n ng mà tr
c đây ch th c hi n đ
c trên các ng
d ng truy n th ng trên desktop. Bên c nh đó, các ng d ng trên Web có nhi u u đi m
n i tr i nh :
Nhanh chóng, m i lúc m i n i và không ph thu c thi t b : ng
i dùng không
c n có các thi t b l u tr l n và các b vi x lý m nh, c ng không ph i cài đ t
ph n m m mà ch c n m t thi t b k t n i Internet là có th ti p c n v i các d ch
v ;
Chi phí gi m và đ tin c y cao: t t c các tài nguyên l u tr và x lý đ
c qu n
lý t p trung, giúp cho quá trình v n hành, b o trì và b o m t d dàng h n;
Chia s , phân ph i và c ng tác: l u tr , x lý t p trung, không ph thu c thi t
b và không gian giúp cho các cá nhân có th h p tác làm vi c v i nhau d dàng
h n;
K t h p và phát tri n các ng d ng: các s n ph m trên Web đ
d
c xây d ng
i d ng các d ch v , cung c p các giao ti p phát tri n ng d ng (API), m ra
kh n ng xây d ng các ng d ng trên n n các d ch v này.
B ng 1.1 trình bày tóm t t m t s k t qu so sánh gi a ng d ng desktop và ng
d ng Web.
1
c đi m
ng d ng desktop
c l p n n t ng máy tính
ng d ng Web
Không
Có
Cài đ t ng d ng
Có
Không
C u hình ng d ng
Có
R t ít
D li u t p trung
Không
Có
Yêu c u k t n i m ng
Tùy ng d ng
Có
Hi u n ng
Nhanh
Tùy vào đ
Nhi u
Ít
Nhi u
Ít
Có
R t ít
ng đ tài nguyên
Chi phí tài nguyên (ng
T
i dùng cu i)
ng tác v i các tài nguyên khác
trên máy c a ng
i dùng cu i
B o v thông tin cá nhân
Ki m soát đ
c
ng truy n
Khó ki m soát
B ng 1.1 So sánh ng d ng desktop và ng d ng web
V i nh ng l i th nh v y, d hi u vì sao các s n ph m Web xu t hi n ngày càng
nhi u và đ
c đón nh n khá tích c c. Tiêu bi u có th k đ n các d ch v l u tr trên
m ng nh Amazon S3 hay Dropbox; các s n ph m ng d ng v n phòng nh Gmail,
Google Docs hay Zoho; các ch
ng trình di t virus nh ESET hay Panda; các ng
d ng biên t p phim nh nh JayCut hay Kaltura. D
ng nh xu h
ng t
ng lai c a
các s n ph m ph n m m chính là Web.
1.2. Nhu c u xây d ng môi tr
V i các s n ph m môi tr
ng phát tri n tích h p trên Web
ng phát tri n ph n m m tích h p, quá trình ti n lên Web
di n ra ch m h n, có l vì đây là m t s n ph m ph c t p h n, có th tr
ng ng
i dùng
nh h n các s n ph m ph thông k trên. Các s n ph m hi n có trên Web ch h
ng t i
các ngôn ng hay n n t ng r t c th , còn h n ch nhi u tính n ng so v i Microsoft
2
Visual Studio hay Eclipse. Trong khi đó, nhu c u v m t môi tr
r t rõ ràng. V i các s n ph m trên Web, ng
ng nh v y trên Web
i dùng có th :
L p trình m i lúc m i n i;
Không ph i cài đ t và c u hình ng d ng;
Chia s mã ngu n ti n l i;
Làm vi c và h p tác tr c tuy n v i các đ ng nghi p c a mình.
1.3. M c tiêu và gi i h n c a khóa lu n
Trong gi i h n khóa lu n, chúng tôi h
ng t i vi c cung c p m t môi tr
ng phát
tri n tích h p mi n phí trên Web và có kh n ng đáp ng các nhu c u c b n c a m t
l p trình viên. Các môi tr
ng phát tri n tích h p hi n nay cung c p cho ng
nhi u ch c n ng h p d n, h tr t t cho ng
i dùng r t
i l p trình. Tuy nhiên, chúng khá ph c t p
và c n nhi u th i gian xây d ng. Do đó, chúng tôi xin đ
c gác l i nh ng ch c n ng
cao c p nh : nh c mã ngu n khi so n th o, trình g l i, qu n lý phiên b n… Nh ng
ch c n ng c b n và các thành ph n quan tr ng (d a trên kh o sát) s đ
c u tiên
phát tri n đ u tiên.
Tóm l i, chúng tôi s c g ng phát tri n m t s n ph m
v n còn m t vài khi m khuy t.
1.4. Các b
c ti n hành khóa lu n
Chúng tôi ti n hành th c hi n đ tài theo các b
3
c sau:
m c ch p nh n đ
c dù
Tìm hi u kh thi: tìm ki m các h th ng t
ng t ; th nghi m l p ráp các thành
ph n chính c b n thành b n m u1 đ u tiên.
Xác đ nh yêu c u ch c n ng và phi ch c n ng: tìm hi u các s n ph m s n có
nh Microsoft Visual Studio hay Eclipse đ xác đ nh các thành ph n c a m t
môi tr
ng phát tri n tích h p và các công c h tr .
Kh o sát chi ti t các yêu c u s n ph m: d a trên các kh o sát có s n và tr i
nghi m c a b n thân; ti n hành đánh giá đ
u tiên c a t ng ch c n ng.
Phân tích thi t k : l a ch n gi i pháp t i u, xây d ng ki n trúc, thi t k mô
hình l p, c s d li u và giao di n ng d ng.
Cài đ t: l a ch n và tích h p các công c s n có; cài đ t b sung nh ng thành
ph n c n thi t.
Tri n khai: tri n khai th nghi m và kh o sát ý ki n ph n h i t ng
i dùng.
Trong quá trình th c hi n, chúng tôi luôn ti n hành ghi chép và l u tr c n th n các
tài li u phát sinh và các ki n th c thu th p đ
1.5. Tiêu chí và h
c đ làm c s vi t báo cáo khóa lu n.
ng ti p c n c b n
Xuyên su t trong quá trình làm khóa lu n, chúng tôi luôn c g ng tuân th theo các
quy t c sau:
T n d ng các chu n và công ngh phát tri n Web m i nh t: d ch v Web, c
ch Ajax, các công ngh l p trình Web tiên ti n HTML5 và CSS3;
T n d ng các thành ph n có s n nh trình biên d ch (gcc, .NET Framework,
Eclipse Platform), h đi u hành và các ph n m m mã ngu n m (nh trình so n
th o v n b n);
1
Thu t ng ti ng Anh: prototype
4
Xây d ng ng d ng có thi t k đ n gi n.
1.6. K t qu khóa lu n
Sau m t th i gian dài làm vi c nghiêm túc, chúng tôi đã hoàn thành khóa lu n v i
các k t qu n i b t sau:
T ng h p đ
c các ki n th c hi n tr ng v các công c và môi tr
ng h tr
so n th o mã ngu n, biên d ch và th c thi, các công ngh và các th vi n l p
trình Web t
h
ng ng, mô hình thi t k và cài đ t ng d ng th nghi m cùng các
ng phát tri n ng d ng trong t
Xây d ng đ
ng lai.
c ng d ng th nghi m cung c p d ch v h tr so n th o mã
ngu n, biên d ch và th c thi trên môi tr
qu nghiên c u c a đ tài và đ
ng Web.
ng d ng th hi n các k t
c tri n khai th nghi m tr c tuy n.
1.7. C u trúc c a báo cáo khóa lu n
N i dung chính c a báo cáo khóa lu n đ
Ch
c trình bày t ch
ng 2 đ n ch
ng 2: trình bày l ch s hình thành và so sánh các môi tr
ng 7:
ng phát tri n tích
h p; xác đ nh và gi i h n các thành ph n mà khóa lu n tìm hi u và tri n khai; trình bày
tiêu chí, h
Ch
ng ti p c n và các b
ng 3: kh o sát và xác đ nh các yêu c u c a h th ng c n xây d ng, nhìn t
quan đi m ng
Ch
c ti n hành khóa lu n.
i dùng cu i, trong ph m vi gi i h n đã đ t ra.
ng 4: trình bày ki n trúc và các gi i pháp thi t k đ
c ch n l a đ xây d ng
h th ng.
Ch
ng 5: trình bày các ph
ng pháp cài đ t h th ng, m t s v n đ x lý; quá
trình tri n khai th nghi m h th ng.
5
Ch
h
ng 6: xác đ nh các k t qu đ t đ
c so v i m c tiêu ban đ u; trình bày các
ng phát tri n ho c s a đ i cho h th ng.
Ch
ng 7: t ng k t báo cáo khóa lu n.
6
CH
NG 2. NGHIÊN C U KI N TH C N N T NG
Trong ch
ng này chúng tôi xin trình bày các ki n th c c b n mà chúng tôi đã
nghiên c u. Ph n đ u chúng tôi s gi i thi u l ch s hình thành c a các môi tr
ng
phát tri n tích h p, qua đó cho th y vai trò c a chúng và nhu c u s d ng các s n ph m
nh v y c a nh ng đ i ng phát tri n ph n m m. Ph n th hai chúng tôi xin gi i thi u
các ki n th c v l p trình Web hi n đ i – nh ng ki n th c c s đ chúng tôi có th
xây d ng thành công ng d ng.
2.1. L ch s các môi tr
ng phát tri n tích h p
Công vi c c a các l p trình viên liên t c thay đ i theo th i gian. Trong giai đo n s
khai, l p trình viên ph i s d ng nh ng chi c th đ c l
nh ng n m đ u th p k 60 th k tr
h n gi a ng
1
đ vi t ch
ng trình.
n
c, gi c m v m t cách th c giao ti p đ n gi n
i và máy d n d n thành hi n th c. Tuy nhiên, ph i đ i đ n khi h đi u
hành UNIX (và m t s h đi u hành khác) ra đ i, các công c giao di n dòng l nh m i
th c s phát tri n m nh m . Nh ng công c này không ch đ
c dùng đ qu n lý h
th ng mà còn đ xây d ng ph n m m. Su t m t th i gian dài sau đó, công vi c c a l p
trình viên g n li n v i các công c giao di n dòng l nh [1].
Cùng v i s phát tri n và m c đ ph bi n nhanh chóng c a máy tính, yêu c u đ i
v i đ i ng phát tri n ph n m m không ng ng đ
c nâng lên [2]:
Mã ngu n ph n m m ngày càng nhi u và ph c t p;
1
ng d ng m i ph i hoàn thành trong th i gian ng n;
Thu t ng ti ng Anh: punch card
7
Nhi u công c m i xu t hi n và không ng ng đ
c c i ti n khi n l p trình viên
g p khó kh n trong vi c l a ch n công c phù h p;
L p trình viên ph i tham gia vào nhi u công đo n nh thi t k mã ngu n, xây
d ng b n m u, ki m tra và tích h p các đo n ch
ng trình nh , đóng gói s n
ph m… và m i m t giai đo n có th đòi h i nhi u công c khác nhau.
T i cu i th p k 70, giao di n đ h a d n d n đ
c tích h p vào các công c c a
l p trình viên. S thay đ i này khi n n ng su t c a h đ
c t ng lên đáng k . Tuy
nhiên, vi c s d ng t ng công c riêng r th c s v n gây ra nhi u khó kh n. H ph i
t n r t nhi u th i gian đ h c cách s d ng, c u hình và t
[1]. Do v y, các môi tr
ng tác v i nhi u công c
ng phát tri n tích h p giúp đ n gi n hóa quá trình phát tri n
ph n m m d n d n xu t hi n.
M t th i gian sau, các môi tr
l nl
t ra đ i. Các môi tr
ng phát tri n tích h p nh Maestro I, Turbo Pascal
ng này đ u có b n thành ph n chính gi ng nhau [3] [4]:
trình so n th o mã ngu n, trình biên d ch hay thông d ch, các công c xây d ng t
đ ng và trình g l i1.
Tuy nhiên, vào th i k đ u, các môi tr
ng phát tri n tích h p v n không đ
c a
chu ng vì nhi u lý do [1]:
M i môi tr
ng phát tri n ch s d ng m t ngôn ng và ch ch y đ
c trên m t
n n t ng.
Cách s d ng ph c t p do bao g m quá nhi u c a s và ch c n ng, h
ng d n
s d ng kèm theo ch a t t.
T p tin biên d ch đ
1
c t o ra th
ng ch ch y đ
Thu t ng ti ng Anh: debugger
8
c trên m t n n t ng c đ nh.