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

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 THI CHƯƠNG TRÌNH TRÊN MÔI TRƯỜNG WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.3 MB, 111 trang )

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ài đ t ng d ng



Không

C u hình ng d ng




R t ít

D li u t p trung

Không



Yêu c u k t n i m ng

Tùy ng d ng



Hi u n ng

Nhanh

Tùy vào đ

Nhi u

Ít

Nhi u

Ít




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.


×