Tải bản đầy đủ (.doc) (175 trang)

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG

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 (912.22 KB, 175 trang )

ĐẠI

HỌC

ĐÀ

NẴNG
TRƯỜ
NG

ĐẠI

HỌC

BÁCH

K
HOA
KH
OA

C
Ô
NG

N
G
H


TH


ÔNG

TIN
Tel.

(84-511)

736

949,

Fax.

(84-511)

842

771
Website:

i t f . ud. e d u . vn ,

E-mail:

c n t t @ e du.ud . vn
LU
ẬN

VĂN


T

T

NG
HIỆP

KỸ

S
Ư
NG
ÀN
H

C
Ô
N
G

NGH


T
H
ÔN
G

T
I

N


NGÀNH

:

05115
ĐỀ


I

:
NGH
I
ÊN

CỨU

XÂY

DỰ
NG

H


THỐNG


WE
BSI
TE
QUẢN



ĐÀO

TẠO

TÍN

CHỈ

CHO

ĐẠI

HỌC

ĐÀ

NẴNG


số

:


02
T
4-15
02
T
4-21
Ngà
y

b
ảo

vệ

:

13/06/2007



15/06/2007
SI
NH

VI
ÊN

:





n

M
in
h
Ng
u
yễ
n

M
in
h

Q
uan
g
LỚ
P

:
02
T
4
CBHD

:
ThS


H
u

nh

H
ữu


n
g
ĐÀ

NẴNG
,

05/2007
LỜI

C

M

Ơ
N
T
r
ướ
c


hết,

chúng

con

xin

cảm

ơ
n

cha

m
ẹ,

nh

ng

ngư
ời

đ
ã




công

sinh
t
h
ành,

dưỡ
ng

dục

chúng

t
ô
i

đến

ngà
y


m

nay.
Chúng


t
ô
i

xi
n

ch
â
n

thành

cả
m

ơ
n

c
á
c

th

y



t

r
ong

k
ho
a

Công

nghệ
Th
ông

ti
n,

c
á
c

th

y



gi
ản
g


d

y

t
r
ong

t
r
ườ
ng

Đ

i

học

B
á
ch

k
ho
a

Đà

N


ng
đ
ã

t
r
uy
ền

đạ
t

những

k
i
ến

th

c

qu
ý

b
á
u


cho

chúng

t
ô
i

t
r
ong

những


m

học
v

a

q
ua.

Đ

c

biệ

t
,

chúng

t
ô
i

xin

ch
â
n

thành

cảm

ơ
n

th

y

gi
á
o


Hu

nh

Hữ
u

ng

-

thuộc

bộ

m
ôn

M

ng

m
á
y


nh,

k

ho
a

Công

nghệ

Th
ông

tin,

t
r
ườ
ng
Đ

i

học

B
á
ch

k
ho
a


Đà

N

ng

đ
ã

t

n


nh

hướ
ng

d

n,

động

viên



giúp


đỡ
chúng

t
ô
i

t
r
ong

suốt

th
ời

gi
an

th

c

hiện

đề

tài.
Chúng


t
ô
i

cũng

xi
n

ch
â
n

thành

cảm

ơ
n

an
h

Ngu
y
ễn

Th
a

nh

Nam
,

chu
y
ên
vi
ên

phòng

Đào

t

o



Công

t
á
c

Sin
h


viê
n,

t
r
ườ
ng

Đ

i

học

B
á
ch

k
ho
a

Đà
N

ng

đ
ã


giúp

đ

,

hỗ

t
rợ

số

liệ
u





v

n

v


ngh
i
ệp


v


q
uản

l
ý

sinh

vi
ên
cho

chúng

t
ô
i

t
r
ong

th
ời

gi

an

làm

đề

tài.
Cuối

cùng,

xin

ch
â
n

t
h
ành

cảm

ơ
n

b

n




g

n

xa,

b

n



t
r
ong

k
hoa
Công

nghệ

Th
ông

tin

đ

ã

giúp

đỡ
,

chia

sẻ

k
i
ến

th

c

cũng

nh
ư

k
inh

ngh
i


m


tài

li
ệu

cho

chúng

t
ô
i

t
r
ong

qu
á

t

nh

nghiên

c


u

th

c

hiện

đề

tài

này.
M

t

l

n

nữa
,

xi
n

ch
â

n

t
h
ành

cảm

ơ
n!
Đà

N

ng,

ngày

25

th
á
ng

05

năm

2006
Sinh


viê
n

th

c

hiện


Văn

Mi
nh
Ng
u
y
ễn

Mi
nh

Quan
g
LỜ
I

C
A

M

ĐO
AN
T
ô
i

xin

ca
m

đ
oa
n

:
1
Nhữ
ng

nộ
i

dung

t
r
ong


lu

n

văn

này



do

t
ô
i

th

c

hiện

dưới

s

hướ
ng


d

n

t
rự
c

ti
ếp

củ
a

th

c

s
ĩ

Hu
ỳn
h

Hữ
u


ng.

2
M

i

tham

k
hảo

dùng

t
r
ong

lu

n

văn

đều

đ
ượ
c

t


ch

d

n



r
àng

tên
t
á
c

gi
ả,

tên

công

t

nh,

th
ời


gi
an
,

đị
a

đ
i

m

công

bố.
3
M

i

sao

chép

k
hông

h
ợp


lệ,

vi

ph

m

q
uy

chế

đ
ào

t

o,

hay

gi
an

t

,
t
ô

i

xin

ch

u

h
oàn

toàn

t

ch

nhiệ
m
.
Sinh

vi
ên,


Văn

Mi
nh

Nguyễn

Mi
nh

Quan
g
MỤC

L

C
T

NG

Q
UAN

ĐỀ

T
À
I

...................................................................................1
I. Bối

cảnh


đề

tài

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

1
II. Mục

đích

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

2
III. Hướng

nghiên

cứu.................................................................................................

2


SỞ



THUYẾ
T


.......................................................................................4
I. Lập

trình

Java

trong

môi

trường

Web

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

4
I.1. Một

số

khái

niệm

liên

quan


đến

Web

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

4
I.2. Kết

nối



sở

dữ

liệu......................................................................................

9
II. Mô

hình

phát

triển

ứng


dụng

Web

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

11
II.1. Kiến

trúc



hình

1

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

11
II.2. Kiến

trúc



hình

2


(Model



View



Controller)......................................

12
III. Ngôn

ngữ



hình

hóa

thống

nhất

(UML)

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

12

III.1. Giới

thiệu

UML

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

12
III.2. UML



các

giai

đoạn

của

chu

trình

phát

triển

phần


mềm

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

15
PH
ÂN


CH



T
H
I
ẾT

K


H


THỐ
N
G

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


17
I. Phân

tích

hiện

trạng.............................................................................................

17
II. Phân

tích

chức

năng

của

hệ

thống

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

29
II.1. Các


tác

nhân

(actor)

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

29
II.2. Usecase

của

admin.......................................................................................

29
II.3. Usecase

của

giáo

viên

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

34
II.4. Usecase

của


sinh

viên

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

36
III. Thiết

kế

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

39
III.1. Sơ

đồ

lớp

(class

diagram)

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

39
III.2. Sơ


đồ

thành

phần

(component

diagram)..................................................

43
III.3. Sơ

đồ

triển

khai

(deployment

diagram)

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

44
XÂY

DỰNG


CHƯ
Ơ
NG

TRÌ
N
H



K
ẾT

QUẢ

ĐẠ
T

ĐƯỢ
C

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

45
I. Xây

dựng

chương


trình

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

45
I.1. Xây

dựng

dữ

liệu

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

45
I.2. Xây

dựng

giao

diện

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

56
I.3. Xây

dựng


gói

theo



hình

MVC

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

58
I.4. Các

giải

pháp

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

61
II. Kết

quả

đạt

được


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

69
K
ẾT

LUẬN

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

75
I. Đánh

giá

kết

quả

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

75
I.1. Về

mặt



thuyết...........................................................................................


75
I.2. Về

mặt

chương

trình

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

75
II. Hướng

phát

triển

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

76
II.1. Về

mặt



thuyết...........................................................................................


76
II.2. Về

mặt

chương

trình

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

76
DA
NH

MỤC

H
Ì
NH

VẼ
Hình

1



Cách


thức

servlet

làm

việc..........................................................................................

6
Hình

2



JDBC

kết

nối

trực

tiếp

với

trình

điều


khiển

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

10
Hình

3



JDBC

sử

dụng

cầu

nối

ODBC

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

10
Hình

4




JDBC

kết

nối

thông

qua

các

ứng

dụng

mạng

trung

gian

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

11
Hình


5





hình

1

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

11
Hình

6





hình

2

(MVC).....................................................................................................

12
Hình


7



Quy

trình

sinh

viên

đăng



lớp

học

phần

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

26
Hình

8




Admin

Usecase

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

29
Hình

9



Activity

diagram

của

usecase

admin

đăng

nhập

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


30
Hình

10



Sequence

diagram

của

usecase

admin

đăng

nhập...................................................

31
Hình

11



Activity


Diagram

của

usecase

admin

upload

điểm.................................................

32
Hình

12



Sequence

Diagram

của

usecase

admin

upload


điểm

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

33
Hình

13



Usecase

của

giáo

viên

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

34
Hình

14



Activity


Diagram

của

usecase

giáo

viên

xem

thời

khóa

biểu

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

35
Hình

15



Sequence


Diagram

của

usecase

giáo

viên

xem

thời

khóa

biểu...............................

35
Hình

16



Usecase

của

sinh


viên

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

36
Hình

17



Activity

Diagram

của

usecase

sinh

viên

đăng



lớp


học

phần..............................

37
Hình

18



Sequence

Diagram

của

usecase

sinh

viên

đăng



lớp

học


phần

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

38
Hình

19



Class

Diagram:

Sinh

viên,

Lớp

sinh

hoạt,

Ngành,

Khóa


học

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

39
Hình

20



Class

Diagram:

Học

phần,

quan

hệ

học

phần

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

39

Hình

21



Object

Diagram:

Học

phần,

quan

hệ

học

phần

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

40
Hình

22




Class

Diagram:

Lớp

học

phần,

học

kỳ....................................................................

40
Hình

23



Class

Diagram:

Khung

chương


trình

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

41
Hình

24



Object

Diagram:

Khung

chương

trình

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

41
Hình

25




Class

Diagram:

Sinh

Viên

Đăng

ký........................................................................

42
Hình

26



Class

Diagram:

Sinh

viên



điểm


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

42
Hình

27



Class

Diagram:

Sinh

viên



thời

khóa

biểu

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

43
Hình


28



Biểu

đồ

thành

phần

của

hệ

thống............................................................................

43
Hình

29





đồ


triển

khai

của

ứng

dụng

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

44
Hình

30



Điểm

của

sinh

viên

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

45

Hình

31



Khung

chương

trình................................................................................................

46
Hình

32



Sinh

viên

đăng



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

46

Hình

33



Sinh

viên,

lớp

sinh

hoạt

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

47
Hình

34



Thời

khóa

biểu


sinh

viên

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

47
Hình

35



Lớp

học

phần

theo

kỳ

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

48
Hình

36




Bố

cục

trang

Web

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

56
Hình

37



Header.....................................................................................................................

56
Hình

38



Footer......................................................................................................................


56
Hình

39



Right

Pane,

Giáo

viên

Left

Menu,

Sinh

viên

Left

Menu

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


57
Hình

40



Giáo

viên

Top

Menu...............................................................................................

57
Hình

41



Admin

Top

Menu

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


57
Hình

42



Sinh

Viên

Top

Menu

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

57
Hình

43



Admin

Left

Menu


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

57
Hình

44



Nội

dung

gói

AdminInterface

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

58
Hình

45



Nội

dung


gói

SinhVienInteface

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

58
Hình

46



Nội

dung

gói

GiaoVienInterface.............................................................................

59
Hình

47



Nội


dung

gói

BusinessObject

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

59
Hình

48



Nội

dung

gói

Bean

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

60
Hình

49




Nội

dung

gói

DataAcessObject

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

60
Hình

50



Nội

dung

gói

Default

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

60

Hình

51



Đồ

thị



tả

học

phần



các

quan

hệ

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

61
Hình


52



Kiểm

tra

xung

đột

thời

khóa

biểu

bằng

AND

bit

(không

xung

đột).......................


65
Hình

53



Kiểm

tra

xung

đột

thời

khóa

biểu

bằng

AND

bit

(có


xung

đột)

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

65
Hình

54



Cập

nhật

quỹ

thời

gian

của

sinh

viên

sau


khi

đăng

ký............................................

65
Hình

55



Cập

nhật

quỹ

thời

gian

của

sinh

viên


sau

khi

hủy

bỏ

lớp

học

phần........................

66
Hình

56



Quy

trình

ánh

xạ

dữ


liệu

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

67
Hình

57



Trang

thiết

kế

khung

chương

trình

của

Admin.......................................................

69
Hình


58



Trang

thiết

kế

thời

khóa

biểu

của

lớp

học

phần

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

69
Hình


59



Trang

web

chọn

file

upload

của

Admin

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

70
Hình

60



Trang

Web


hiện

thị

danh

sách

sau

khi

upload

thành

công

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

70
Hình

61



Trang


xem

thời

khóa

biểu

của

giáo

viên

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

71
Hình

62



Trang

xem

lớp

học


phần

của

giáo

viên...................................................................

71
Hình

63



Trang

xem

cây

quan

hệ

học

phần


của

sinh

viên

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

72
Hình

64



Trang

xem

điểm

của

sinh

viên................................................................................

72
Hình


65



Trang

xem

khung

chương

trình

của

sinh

viên

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

73
Hình

66



Trang


xem

lớp

học

phần

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

73
Hình

67



Trang

liệt



danh

sách

lớp


học

phần

hiện

có.........................................................

74
Hình

68



Trang

xem

thời

khóa

biểu

của

sinh

viên.................................................................


74
DANH

MỤC

BẢNG

BIỂU
Bảng

1



Một

số

thẻ

(tag)

thường

sử

dụng

trong


ngôn

ngữ

HTML

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

4
Bảng

2



Các

lệnh

của

giao

thức

HTTP

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


5
Bảng

3



Các

tùy

chọn

của

chỉ

thị

page.....................................................................................

8
Bảng

4



Các


hành

động

trong

JSP

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

9
Bảng

5



Chi

tiết

từng

loại

khóa

học

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


19
Bảng

6



Điểm

rèn

luyện

quy

đổi

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

20
Bảng

7





của


một

số

trường

thuộc

ĐH

Đà

Nẵng...............................................................

21
Bảng

8





của

các

khoa


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

22
Bảng

9





của

các

ngành

thuộc

đại

học

Bách

Khoa

Đà

Nẵng


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

23
Bảng

10



Bảng

tblChiTietDiemCuaSinhVien

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

48
Bảng

11



Bảng

tblChiTietKhungChuongTrinh......................................................................

48
Bảng


12



Bảng

tblChiTietHocPhan

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

49
Bảng

13



Bảng

tblDiemCuaSinhVien....................................................................................

49
Bảng

14



Bảng


tblDonVi

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

49
Bảng

15



Bảng

tblGiaoVien...................................................................................................

50
Bảng

16



Bảng

tblHocKy.......................................................................................................

51
Bảng

17




Bảng

tblHocKyHienHanh

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

51
Bảng

18



Bảng

tblHocPhan....................................................................................................

51
Bảng

19



Bảng

tblKhoa..........................................................................................................


51
Bảng

20



Bảng

tblKhoaHoc

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

52
Bảng

21



Bảng

tblKhungChuongTrinh

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

52
Bảng


22



Bảng

tblLoaiDiem

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

52
Bảng

23



Bảng

tblLopHocPhan

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

52
Bảng

24




Bảng

tblLopHocPhan

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

53
Bảng

25



Bảng

tblNganh........................................................................................................

53
Bảng

26



Bảng

tblNhomLopHocPhan

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


53
Bảng

27



Bảng

tblPhongHoc

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

53
Bảng

28



Bảng

tblQuanHe

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

53
Bảng

29




Bảng

tblQuanHeHocPhan

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

54
Bảng

30



Bảng

tblSinhVienDangKy......................................................................................

54
Bảng

31



Bảng

tblThoiKhoaBieu


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

54
Bảng

32



Bảng

tblThoiKhoaBieuSinhVien

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

54
Bảng

33



Bảng

tblSinhVien

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

55

Bảng

34



Biểu

diễn

quan

hệ

theo

danh

sách

đỉnh

kề

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

62
Bảng

35




Bảng

quan

hệ

học

phần

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

63
Bảng

36



Nội

dung

một

class


đọc

file

excel

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

68
DANH

MỤC

TỪ

VI
ẾT

TẮT
HTML Hypertext

Markup

Language
URL Uniform

Resource

Locator
HTTP Hypertext


Tranfer

Protocol
HTTPS HTTP

over

SSL
JSP Java

Server

Page
XML Extensible

Markup

Language
ODBC Open

Database

Connectivity
JDBC Java

Database

Connectivity
MVC Model




View



Controller
UML Unifield

Modeling

Language
WML Wireless

Markup

Language
API Application

Programming

Interface
Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
1
TỔNG

QUAN

ĐỀ


TÀI
I
. Bối

c

nh

đề

t
à
i
Giáo

dục



nền

tảng

cho

sự

phát


triển

của

cả

một

dân

tộc,

đặc

biệt



giáo

dục



bậc

đại
học.

Người


ta

thường

dùng

các

chỉ

số

kinh

tế

để

đánh

giá

sự

phát

triển

của


một

quốc

gia,

thế
nhưng

để

đánh

giá

sự

phát

triển

của

cả

một

dân


tộc

thì

người

ta

lại

xét

đến

các

khía

cạnh

của
giáo

dục

đặc

biệt




giáo

dục

đại

học.

Trên

thế

giới,

các

quốc

gia

đã

phát

triển

đều




những
nước



nền

giáo

dục

tiên

tiến,

với

những

trường

đại

học

hàng

đầu


tiêu

biểu



Hoa

Kỳ,

Nhật
Bản,

Anh



gần

chúng

ta

nhất



Singapore.
Nền


giáo

dục

của

nước

ta

đang

từng

bước

cải

cách



phát

triển.

đại

học


Đà

Nẵng



một
trong

ba

trọng

điểm

trong

việc

phát

triển

nền

giáo

dục

đại


học

của

nước

ta.
Trong

quá

trình

phát

triển

của

mình,

đại

học

Đà

Nẵng


đang

chuyển

dần

từ

Đào

tạo

theo
niên

chế

sang

Đào

tạo

theo

tín

chỉ.

Quản




đào

tạo

tín

chỉ

tuy



một

công

việc

khó

khăn


phức

tạp


nhưng

công

việc

này



cùng

quan

trọng;

quản



tốt

thì

chất

lượng

đào


tạo

được
nâng

cao.
Hiện

tại,

việc

quản



đào

tạo

tín

chỉ

tại

Đại

học


Đà

Nẵng

đang

gặp

một

số

khó

khăn,

xuất
phát

từ

nhiều

nguyên

nhân

khác

nhau:


mới

đầu

chuyển

sang

đào

tạo

tín

chỉ,

hệ

thống

quản


mới

xây

dựng,


chưa

thống

nhất,…



việc

quản



này

vẫn

còn

mang

nhiều

ảnh

hưởng

của


hệ
thống

quản



niên

chế

hiện

có.

Sinh

viên

phải

đăng



môn

học

bằng


tay,

việc

kiểm

tra

xung
đột

về

thời

khóa

biểu

của

sinh

viên

không

được


thực

hiện

trong

quá

trình

đăng

ký.

Sinh

viên
vẫn

chưa

biết

được

quan

hệ

của


các

học

phần,

học

phần

nào

nên

học

trước

học

phần

nào

nên
học

sau…


Việc

quản



của

nhân

viên

quản

trị

cũng

gặp

nhiều

khó

khăn

như

xây


dựng

khung
chương

trình,

xây

dựng

thời

khóa

biểu,

nhập

điểm…
Bài

toán

đặt

ra

lúc


này



làm

sao

để

xây

dựng

được

một

hệ

thống

website

quản



đào


tạo
tín

chỉ

đáp

ứng

được

tất

cả

nhu

cầu

cho

giáo

viên,

sinh

viên




quản

trị

viên.

Cụ

thể



hệ
thống

website

phải



những

chức

năng

sau:
− Hệ


thống

cho

phép

giáo

viên

dễ

dàng

biết

được

thời

khóa

biểu

của

mình




danh

sách
các

lớp

học

phần



mình

dạy,

cụ

thể



giáo

viên

sẽ


dạy



phòng

nào,

môn



vào
thời

điểm

hiện

tại.
− Hệ

thống

cho

phép

sinh


viên

dễ

dàng

biết

được

điểm

của

mình,

số

tín

chỉ



mình

đã
đạt

được,


biết

được

rằng

nên

đăng



môn

học

nào

trước



cuối

cùng



cho


phép
sinh

viên

đăng



một

lớp

học

phần.
− Hệ

thống

còn

giúp

quản

trị

viên


dễ

dàng

cập

nhật

các

thông

tin

liên

quan

đến

đào

tạo,
dễ

dàng

xây


dựng

khung

chương

trình



dễ

dàng

xây

dựng

thời

khóa

biểu

cho

các

lớp
học


phần



không

lo

xung

đột

về

thời

gian.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
2
Nghi
ên

c

u

x
â

y

d

ng

hệ

thống

We
bsite

q
uản

l
ý

tín

chỉ

cho

Đ

i

học


Đà

N

ng
II
.
Mục

đíc
h
Trong

bối

cảnh

trên,

chúng

tôi,

bằng

những

kiến


thức

đã

học



sự

hướng

dẫn

tận

tình

của
giáo

viên,

chúng

tôi

thực

hiện


đề

tài

này

nhằm

mục

đích

nghiên

cứu

những

vấn

đề

gặp

phải
trong

việc


quản



đào

tạo

tín

chỉ;

từ

đó

chúng

tôi

đưa

ra

những

giải

pháp


khắc

phục



cuối
cùng



cụ

thể

hóa

các

giải

pháp

bằng

việc

xây

dựng


một

hệ

thống

website

quản



đào

tạo

tín
chỉ



đầy

đủ

chức

năng


nêu

trên.

Ngoài

ra,

khi

xây

dựng

hệ

thống

website

này

chúng

tôi
mong

muốn

góp


một

phần

nhỏ

trong

sự

nghiệp

phát

triển

của

giáo

dục

Việt

Nam.

Hệ

thống

xây

dựng

không

tránh

khỏi

những

hạn

chế,

chúng

tôi

mong

nhận

được

ý

kiến


đóng

góp

để
hoàn

thiện

sau

này.
III
.


ớn
g

n
gh

n

cứu
III
.1. Về
mặ
t


t
hu
y
ết
Nghiên

cứu

việc

quản



đào

tạo

tín

chỉ

tại

trường

Đại

học


Bách

Khoa

Đà

Nẵng

hiện

nay.
Nghiên

cứu

những

vấn

đề

gặp

phải

của

việc

quản




đào

tạo

tín

chỉ.
Nghiên

cứu



thuyết

xây

dựng

một

hệ

thống

website


tác

nghiệp

bằng

công

nghệ

Java,

cụ
thể



JSP



Servlet.
Đưa

ra

các

định


hướng

phát

triển

của

đề

tài.
III
.2.
C
ôn
g
cụ


y
dựn
g
đề

t
à
i
Công

cụ


nghiên

cứu



sở



thuyết:

các

tài

liệu

liên

quan

đến

đào

tạo

tín


chỉ

do

Đại

học
Đà

Nẵng

phát

hành,

các

tài

liệu

liên

quan

đến

lập


trình

Java

(giáo

trình



ebook),

các

trang
web

liên

quan…
Công

cụ

xây

dựng

hệ


thống

website:

Sun

Java

JDK

1.5,

Sun

IDE

NetBean

4.1,

Apache
Tomcat

5.5,

Microsoft

SQL

Server


2000

Service

Pack

4,

Microsoft

Visio

2003

beta.
III
.3. D


ki
ến

kế
t

qu


đạt


đư
ợc
Với

những

công

cụ



kiến

thức

thu

thập

được,

chúng

tôi

sẽ

xây


dựng

hệ

thống

website
phục

vụ

quản



đào

tạo

tín

chỉ.

Hệ

thống

website


gồm

các

chức

năng

ứng

với

từng

loại

người
dùng

như

sau

Giá
o

viê
n

xe

m

t
h
ời

kh
óa

bi

u
:

Sau

khi

đăng

nhập,

giáo

viên

xem

được


thời

khóa
biểu

của

mình,

cụ

thể



giáo

viên



thể

biết

được

trong

tuần


mình

sẽ

phải

dạy

những
lớp

nào,



phòng

nào

vào

những

thời

gian

nào.


Giá
o

viê
n

xem

da
nh

sác
h

lớp

h
ọc

ph
ần
:

Giáo

viên



thể


xem

danh

sách

các

lớp
học

phần



mình

dạy.

Cụ

thể





thể


xem

được

số

lượng

sinh

viên

tối

đa,

số

lượng
sinh

viên

tối

thiểu



số


lượng

sinh

viên

hiện

tại.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
3
Nghi
ên

c

u

x
â
y

d

ng

hệ


thống

We
bsite

q
uản

l
ý

tín

chỉ

cho

Đ

i

học

Đà

N

ng
− S
in

h

viê
n

xe
m

khun
g

c

ơn
g

trìn
h
:

Sinh

viên

xem

khung

chương


trình



mình
cần

học.

Cụ

thể



sinh

viên



thể

biết

được

trong

một


học

kỳ

cụ

thể,

mình

sẽ

phải
học

những

môn

nào.
− S
in
h

viê
n

xe
m


h
ọc

ph
ần

v
à

qua
n

hệ

h
ọc

ph
ần
:

Sinh

viên



thể


xem

danh

sách

các
học

phần



quan

hệ

giữa

chúng.

Các

học

phần

này

được


trình

bày



dạng

cây

để

sinh
viên

dễ

dàng

biết

được

học

phần

nào


nên

học

trước



học

phần

nào

nên

học

sau.
− S
in
h

viê
n

xe
m

điể

m
:

Sinh

viên

xem

điểm

của

mình.

Cụ

thể



sinh

viên



thể

biết

được

điểm

của

từng

học

phần



mình

đã

học,

biết

được

số

tín

chỉ


mình

đã

đạt

được


biết

được

mình

đã

hoàn

tất

bao

nhiêu

phần

của

quá


trình

học

đại

học

tại

trường.
− S
in
h

viê
n

đ
ă
n
g



lớp

h
ọc


ph
ần:

Sinh

viên

xem

danh

sách

các

lớp

học

phần

đang
được

mở

trong

học


kỳ

hiện

hành

để

từ

đó

đăng



vào

một

trong

các

lớp

đó.

Quá


trình
đăng



này

sẽ

được

kiểm

tra

chặt

chẽ

các

ràng

buộc.

Ngoài

ra,


sinh

viên



thể

hủy
bỏ

một

lớp

học

phần



mình

đã

đăng

ký.
− S
in

h

viê
n

xem

t
h
ời

kh
óa

bi
ểu
:

Sinh

viên

xem

thời

khóa

biểu


trong

học

kỳ

hiện
hành.

Nh
ân

viê
n

qu

n

tr


up
lo
ad


c

dan

h


c
h

liê
n

qu
an
:

Nhân

viên

quản

trị

(admin)
sau

khi

đăng

nhập


sẽ



chức

năng

upload,

chức

năng

này

cho

phép

upload

danh

sách
giáo

viên,

sinh


viên,

lớp

học,

phòng

học,

học

phần



các

thông

tin

khác.

Các

danh
sách


này

được

lưu



dạng

file

excel



tự

động

được

cập

nhật

vào




sở

dữ

liệu.

Nh
ân

viê
n

qu

n

trị

cậ
p

nh
ật

t
h
ôn
g

tin

:

Nhân

viên

quản

trị

dễ

dàng

cập

nhật

thông
tin

của

đối

tượng

bất

kỳ


liên

quan

đến

quá

trình

quản



đào

tạo.

Nh
ân

viê
n

qu

n

trị



y

dựn
g

khun
g

c

ơn
g

tr
ìn
h
:

Nhân

viên

quản

trị

dễ


dàng

xây
dựng

khung

chương

trình

cho

từng

khóa

học

của

từng

ngành.

Nh
ân

viê
n


qu

n

tr



y

dựn
g

t
h
ời

kh
óa

bi
ểu
:

Nhân

viên

quản


trị

dễ

dàng

xây

dựng
thời

khóa

biểu

cho

từng

lớp

học

phần



không


lo

ngại

xung

đột

thời

khóa

biểu.
Với

kết

quả

dự

kiến

đạt

được

của

chương


trình,

luận

văn

được

tổ

chức

thành

các

chương
cụ

thể

như

sau:
Ch
ư
ơn
g


1.



sở



thuyết:

Giới

thiệu

tổng

quan



thuyết



công

cụ

thực


hiện

để

tài.
Trong

chương

này,

chúng

tôi

trình

bày



thuyết

xây

dựng

một

hệ


thống

website

bằng

ngôn
ngữ

JSP

theo



hình

Model

View

Controller.
Ch
ư
ơn
g

2.


Phân

tích

thiết

kế

hệ

thống:

Trong

chương

này,

chúng

tôi

trình

bày

về

phân
tích


hiện

trạng,

phân

tích

hệ

thống



thiết

kế

hệ

thống.
Ch
ư
ơn
g

3.

Xây


dựng

chương

trình



kết

quả

đạt

được:

Trong

chương

này,

chúng

tôi

trình
bày


các

bước

xây

dựng

chương

trình



các

kết

quả

đạt

được.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
4
CHƯ
Ơ
NG


1


SỞ



THUYẾT
I
.
L
ập

trìn
h

J
av
a

tr
o
n
g


i

tr
ư

ờn
g

Web
I
.1.
M
ột
số
kh
ái

ni

m
liê
n

quan

đế
n

Web
Thuật

ngữ

World


Wide

Web

hay

gọi

tắc



Web

không

còn

xa

lạ

với

chúng

ta.

Cùng


với

sự
bùng

nổ

của

công

nghệ

thông

tin



Internet,

Web

ảnh

hưởng

hầu

hết


đến

tất

cả

các

lĩnh

vực
trong

cuộc

sống

của

chúng

ta.

Đề

tài

này


được

xây

dựng

trên

nền

Web

chính



vậy

trong
phần

này

chúng

tôi

chỉ

đưa


ra

một

số

định

nghĩa

liên

quan

đến

Web

được

sử

dụng

trong

đề

tài

thay



làm



từng

yếu

tố

của

công

nghệ

này.
I
.1.1. Ng
ôn

ng


HTM
L


(Hypert
ex
t

Mar
k
u
p

Lan
g
uage)


sở

để

xây

dựng



phát

triển

hệ


thống

website

trên

Internet



ngôn

ngữ

HTML.

Trang
Web



trang

thông

tin,

chứa


dữ

liệu

văn

bản,

âm

thanh,

hình

ảnh

kể

cả

khả

năng

tương

tác

dữ
liệu…


luôn

được

cập

nhật

liên

tục

thông

qua

thông

qua

hệ

thống

mang

toàn

cầu

Internet. HTML

đơn

giản

chỉ



các

file

thuần

văn

bản

(text)

sử

dụng

các

thẻ


(tag)

yêu

cầu

thể
hiện

dữ liệu

đặt

giữa

các

thẻ

theo

một

định

dạng

nào

đó.


Mỗi

thẻ

sẽ

mang

một

định

dạng
khác

nhau


được

nhận

biết

bởi

trình

duyệt


(browser)

thông

qua

tên

thẻ.

Chức

năng

cụ

thể

của

từng

thẻ
được

thể

hiện


qua

bản

sau.

n

t
h

Ch

c
n
ă
n
g
<html> </html> Cặp thẻ này quy ước mở đầu và kết thúc cho tài liệu HTML. Nội dung của
HTML được đặt giữa hai thẻ này.
<b>, <i> Thẻ định dạng in đậm và in nghiêng của một chuỗi văn bản trong tài liệu.
<h1>, <h2>, <h3> Thẻ định dạng in cỡ chữ cho tiêu đề
<body> </body> Thẻ định dạng phần thân của tài liệu HTML.
<table> </table> Thẻ định dạng một bảng trong tài liệu HTML.
<tr> </tr> Thẻ định dạng một hàng trong bảng của tài liệu HTML
<td> </td> Thẻ định dạng một ô trong một bảng của tài liệu HTML
<br> Thẻ xuống cắt dòng
Bả
n
g 1 –

Một

số

thẻ

(tag)

thường

sử

dụng

trong

ngôn

ngữ

HTML

Ngh
iên

c

u

x

â
y

d

ng

hệ

thống

W
ebsite

q
uản

l
ý

tín

chỉ

cho

Đ

i


học

Đ
à

N

ng
Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
5

I
.1.2.
Tr
ình

du
yệ
t

(br
o
ws
er)
Trình

duyệt




một

chương

trình



phía

Client

dùng

để

hiển

thị

tài

liệu

HTML.

Để




được
tài

liệu

HTML,

trình

duyệt

sẽ

liên

hệ

với

trình

chủ

Web

Server

để

lấy


tài

liệu

qua

một

địa

chỉ
Web



Url.

Khi

nhận

được

tài

liệu,

trình


duyệt

sẽ

đọc,

phân

tích



hiển

thị

tài

liệu

theo

các
định

dạng

nhất

định


như

font

chữ,

màu

sắc,

hình

ảnh,

âm

thanh

thậm

chí

còn

thực

hiện

một


số
lệnh

tương

tác

như

JavaScript,

VBScript..

Người

sử

dụng



thể

nhập

dữ

liệu




trình

duyệt
thông

qua

các

thành

phần

điều

khiển

của

form

như

textBox,

textArea,

checkBox,


listBox,...


yêu

cầu

trình

duyệt

gửi

về

máy

chủ

xử



thông

qua

thao


tác

được

gọi



submit.

Với

đề

tài
này



thể

chạy

bằng

bất

cứ

trình


duyệt

nào,

tuy

nhiên,

chúng

ta

nên

sử

dụng

Ms

Internet
Explorer

phiên

bản

4.0


trở

về

sau

để

nội

dung

được

hiển

thị

chính

xác

hơn.
I
.1.3. Đị
a

chỉ

địn

h

vị

tài

ngu
y
ê
n

Ur
l

(Unifor
m

Reso
ur
ce

Locator
)
Url

(Uniform

Resource

Locator)




địa

chỉ

định

vị

tài

nguyên

thống

nhất,

địa

chỉ

này

trỏ

tới
vị


trí

tài

nguyên

trên

máy

chủ.

Địa

chỉ

này

gồm

4

phần:

phần

giao

thức


(protocol),

phần

địa chỉ
máy

chủ

(address),

số

hiệu

cổng

của

dịch

vụ



phần

đường

dẫn


tương

đối

đến

nơi

chứa
tài

nguyên.
I.
1.4. Gi
a
o

th
ức

HTTP

(Hyper
text

Tra
n
fer


Pr
otocol)
Giao

thức

HTTP

(Hypertext

Tranfer

Protocol)



cách

thức

để

trình

duyệt

kết

nối


với

máy
chủ

server.

HTTP



một

giao

thức

phi

kết

nối,

giao

thức

này

cho


phép

trình

duyệt



phía

máy
khách

(client)

gửi

một

yêu

cầu

(request)

đến

trình


server

(web

server)



máy

chủ.

Máy

chủ

sẽ
nhận

được

lệnh



trả

về

tài


liệu

tương

ứng.

Tập

lệnh

của

giao

thức

này

rất

đơn

giản,

gồm

các
lệnh


sau:

n
lệ
nh
Ý
n
gh
ĩ
a
GET Yêu cầu lấy nội dung trang dữ liệu từ Web Server
POST Chuyển dữ liệu lên trình chủ Web Server
PUT Đưa một file lên Web Server
DELETE Yêu cầu xóa trang
TRACE Yêu cầu lấy thông tin của một trang
Bả
n
g 2 –
Các

lệnh

của

giao

thức

HTTP
I.

1.5. Mộ
t

số

khá
i

ni
ệm

về

Se
r
v
l
e
t



JS
P
Với

HTTP




HTML,

chúng

ta



thể

tạo

trang

web

một

cách

dễ

dàng,

tuy

nhiên,

muốn
xây


dựng

một

hệ

thống

website

tác

nghiệp



các

trang

web

động



khả

năng


tương

tác



sở
dữ

liệu

chúng

ta

phải

sử

dụng

công

nghệ

lập

trình


web



phía

máy

chủ.



đây,

chúng

tôi

trình
bày

công

nghệ

lập

trình

web


của

Java

do

Sun

Microsystem

Co

cung

cấp.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
6
Ngh
iên

c

u

x
â
y


d

ng

hệ

thống

W
ebsite

q
uản

l
ý

tín

chỉ

cho

Đ

i

học

Đ

à

N

ng

I.
1.6.
W
eb

Ser
ver
Web

Server



một

máy

tính



cài

phần


mềm

Web

server,



nhận

các

yêu

cầu

(request)
HTTP

từ

phía

client



trả


lời

phục

vụ

các

yêu

cầu

đó

bằng

dữ

liệu

tương

ứng.
I.
1.7. Se
r
v
le
t
Công


nghệ

Servlet





sở

để

triển

khai

các

ứng

dụng

Web

sử

dụng

ngôn


ngữ

lập

trình
Java,



công

nghệ

quan

trọng,



bản

để

triển

khai

ứng


dụng

Web:

Java

Server

Page.
Servlet



một

lớp

Java



thể

được

load

động




được

chạy

bởi

một

Web

Server

đặc

biệt.
Một

Web

Server

hiểu

được

Servlet

được


gọi


se
r
v
let cont
a
ine
r
hay se
r
v
let engine.
Servlet

tương

tác

với

client

thông

qua




hình

request-response

dựa

trên

HTTP.

Bởi


công

nghệ

Servlet

dựa

trên

HTTP

nên

servlet

container


cũng

phải

hỗ

trợ

HTTP

hay

một

giao
thức

tương

tự

như

HTTPS

(HTTP

over


SSL)

để

bảo

mật

hơn.
Cách

thức

servlet

làm

việc:

Một

Servlet

sẽ

được

nạp

bởi


servlet

container

khi

lần

đầu

tiên
servlet

được

yêu

cầu.

Servlet

sẽ

xử



các


yêu

cầu

người

sử

dụng



trả

về

hồi

đáp

đến

servlet
container.

Sau

đó

servlet


vẫn



trong

bộ

nhớ

để

đợi

các

yêu

cầu

khác



sẽ

được

unload


khi
servlet

container

thấy

bộ

nhớ

còn

ít.
Chu

trình

sống

Servlet:
H
ì
nh
1 –
Cách

thức


servlet

làm

việc

− Nạp

Servlet:

Một

Servlet



thể

nạp

vào

bộ

nhớ



3


thời

điểm

khác

nhau:

khi

server
khởi

động,

khi

người

quản

trị

yêu

cầu

hoặc

khi


trình

duyệt

triệu

gọi

Servlet

từ

máy
khách.

Để

nạp

Servlet,

trình

chủ

Web

server


cần

phải

biết

tên

lớp

của

Servlet.

Thông
thường

tên

lớp

của

Servlet

(tên

file

.class)


cũng



tên



trình

duyệt

dùng

triệu

gọi
Servlet

khi

bạn

thực

hiện

quá


trình

đăng





ánh

xạ.

Tuy

nhiên,

bạn

cũng



thể

ánh
xạ

đổi

tên


Servlet

khác

với

tên

file

*.class

của



thậm

chí

đổi

tên

tiếp

đầu

ngữ


dùng
để

triệu

gọi

Servlet.

Khi



một

yêu

cầu

triệu

gọi

Servlet,

trình

chủ


Web

Server

sẽ
xem

Servlet

đã

nạp

vào

bộ

nhớ

hay

chưa,

nếu

chưa



sẽ


nạp

Servlet

vào

bộ

nhớ.

Một
khi

Servlet

được

nạp,

Web

Server

sẽ

tiến

đến


giai

đoạn

khởi

tạo

Servlet
− Khởi

tạo

Servlet:

Trình

chủ

Web

Server

khởi

tạo

Servlet

bằng


cách

gọi

đến

phương
thức

init()



Servlet

cài

đặt.

Phương

thức

này

được

gọi


một

lần

duy

nhất.
− Thực

thi

Servlet:

Khi

trình

duyệt

gọi

hoặc

các

trang

JSP

triệu


gọi

Servlet

thông

qua
địa

chỉ

URL,

trình

chủ

Web

Server

sẽ

chính

thức

gọi


Servlet

thực

thi

thông

qua

các
phương

thức

như

doGet(),

doPost()

hoặc

service().

Sau

khi

các


phương

thức

này

thực
thi

xong,

Servlet

vẫn

giữ

lại

trong

bộ

nhớ

để

phục


vụ

cho

lần

triệu

gọi

tiếp

theo.

Điều
này

giúp

cho

Servlet

thực

thi

nhanh

hơn.

− Dọn

dẹp

Servlet:

Servlet

không

giữ

lại

trong

bộ

nhớ

vĩnh

viễn,

sẽ

đến

lúc


cần

loại

bỏ
Servlet

ra

khỏi

bộ

nhớ.

Trước

khi

chấm

dứt,

Web

Server

sẽ

triệu


gọi

đến

phương

thức
destroy()

của

Servlet.
I.
1.8.
J
a
v
a

Se
rver

P
a
ge

(JS
P
)

Java

Server

Page

còn

được

biết

đến

với

một

cái

tên

khác



J
ava

Sc

r
i
pt
i
n
g

P
rep
r
ocesso
r
-

t

m

dịch

l
à

"
B


xử

l

ý

văn

lệnh

J
a
v
a

tiền

t

nh
"

-



một

công

nghệ

Java


cho

phép

các

nhà
phát

triển

tạo

nội

dung

HTML,

XML

hay

một

số

định

dạng


khác

của

trang

web

một
cách năng

động,

trong

khi

hồi

âm

yêu

cầu

của

trình


khách.

Công

nghệ

này

cho

phép
người

ta nhúng



Java



một

số

hành

động

xử




đã

được

định

trước

(p
r
e-de
f
ined

ac
tions)
vào

trong nội

dung

tĩnh

của

trang.



pháp

của

JSP

cho

thêm

các

thẻ

XML

mới,

gọi



JS
P

ac
tions


-

hành

động

JSP.

Những
"hành

động

JSP"

này

được

dùng

để

khởi

động

chức

năng


sẵn

có,



những

chức

năng

đã

được
xây

dựng

trước.

Cộng

thêm

vào

đó,


công

nghệ

còn

cho

phép

chúng

ta

tạo

ra

các

thư

viện

thẻ
JSP

(JS
P


t
a
g

lib
r
a
r
ies),



những

cái

đóng

vai

trò

vào

việc

mở

rộng


các

thẻ

HTML

hay

XML
tiêu

chuẩn.

Thư

viện

thẻ

(
T
a
g

lib
r
a
r
ies)




phương

pháp

mở

rộng

khả

năng

của

một

máy

chủ
web

trong

khi

những

mở


rộng

đó

không

phụ

thuộc

vào

hệ

nền

(về

cả

cấu

trúc

máy

cũng

như

hệ

điều

hành

được

dùng).
Trước

khi

hiển

thị

ra

trình

duyệt,

tập

tin

JSP

phải


được

biên

dịch

thành

Servlet,

dùng

bộ
biên

dịch

JSP

(JS
P

co
m
pile
r)
.

Bộ


biên

dịch

JSP



thể

tạo

se
r
v
let

thành



nguồn

Java

trước,
rồi

biên


dịch



nguồn

ra

tập

tin

.cl
ass

dùng

bộ

biên

dịch

Java,

hoặc




thể

trực

tiếp

tạo


byte

code

cho

se
r
v
let

từ

trang

JSP.
Một

trang

JSP




thể

được

phân

thành

từng

phần

nhỏ

như

sau:
− dữ

liệu

tĩnh,

như

HTML
− các


chỉ

thị

JSP

(JSP

directives)

như

chỉ

thị

include:

<jsp:include>
− các

phần

tử

kịch

bản


JSP

(scripting

elements)



các

biến

(variables),



dụ:
− <%

scriptlet

%>
− <%=

expression

%>
− <%!

declaration


%>
− hành

động

JSP

(JSP

actions)
− thẻ

tùy

biến

(custom

tags)
Các

chỉ

thị

JSP

bao


gồm:
− include



Chỉ

thị

include

thông

báo

cho

bộ

biên

dịch

JSP

cho

nhập

toàn


bộ

nội

dung
của

một

tập

tin

vào

trong

nội

dung

hiện

có.

Việc

làm


này

tương

tự

như

việc

chúng

ta
lấy

nội

dung

của

tập

tin

đó

dán

trực


tiếp

vào

trong

nội

dung

của

tập

tin

đang

dùng
− page





nhiều

tùy


chọn

với

chỉ

thị

page.
T
ù
y c
h

n
G
i

i
t
h
íc
h
import
Kết quả là câu lệnh import của Java được chèn vào trong tập tin
contentType Chỉ định nội dụng của tập tin được khởi tạo. Chúng ta nên dùng chỉ
phối này nếu chúng ta không dùng HTML, hoặc bộ ký tự (ch
a
r
ac

te
r
set) được dùng không phải là bộ ký tự mặc định.
errorPage Chỉ định rằng trang web sẽ được hiển thị nếu có một ngoại lệ
(e
xc
eption) xảy ra trong quá trình xử lý yêu cầu HTTP
isErrorPage
Nếu định giá trị là true thì nó nói rằng trang này là trang báo lỗi
(e
rr
o
r
p
a
ge).
isThreadSafe Chỉ định cho biết servlet tạo ra có tính an toàn về luồng xử lý
(th
r
e
ad
sa
f
e) hay không.
Bả
n
g 3 –
Các

tùy


chọn

của

chỉ

thị

page
− Taglib



Chỉ

thị

taglib

thông

báo

rằng

chúng

ta


sẽ

sử

dụng

một

thư

viện

thẻ

JSP

(JSP
tag

library).

Chỉ

thị

này

đòi

hỏi


một

tiền

tố

(prefix)

(tương

tự

như

namespace

trong
C++),

cũng

như

kết

nối

URI


của

phần



tả

thư

viện

thẻ

(URI

for

the

tag
library description)

phải

được

xác

định.

Các

đối

tượng

chuẩn:
− out

(xuất)



JSPWriter

sử

dụng



để

ghi

dữ

liệu

vào


luồng

dữ

liệu

hồi

âm

(response
stream).
− page

(trang)



Bản

thân

servlet.
− pageContext

(ngữ

cảnh


của

trang)



Một

PageContext



một

thực

thể



chứa

dữ

liệu
liên

kết

với


toàn

bộ

trang

web.

Một

trang

HTML

nào

đấy



thể

được

truyền
qua nhiều

trang


JSP.
− request

(yêu

cầu)



Đối

tượng

yêu

cầu

HTTP.
− response

(hồi

âm)



Đối

tượng


hồi

âm

HTTP.
− session

(phiên

giao

dịch)



Đối

tượng

phiên

giao

dịch

HTTP.

Cái

này




thể

được
dùng

để

theo

dõi

tin

tức

về

một

người

dùng,

từ

yêu


cầu

này

đến

yêu

cầu

khác
Các

thẻ

hành

động

của

JSP:

nh

độn
g
G
i


i
t
h
íc
h
jsp:include Tương tự như mục đích sử dụng một thủ tục con (subroutine), Java
servlet tạm thời trao nhiệm vụ đặt yêu cầu và hồi âm cho trang
JavaServer (JavaServer Page) chỉ định nào đấy. Quyền khống chế sẽ
được hoàn lại cho trang JSP hiện tại, một khi trang JSP kia hoàn
thành nhiệm vụ của nó. Dùng phương pháp này, mã trang JSP được
chia sẻ với nhiều trang JSP, thay vì phải sao mã.
jsp:param Có thể được dùng bên trong khối jsp:include, khối jsp:forward hoặc
khối jsp:params. Nó được dùng để xác định một thông số, và thông số
này sẽ được cộng thêm vào chuỗi các thông số hiện có của yêu cầu.
jsp:forward Được dùng để trao nhiệm vụ đặt yêu cầu và hồi âm sang cho một
trang JSP khác, hoặc cho một servlet khác. Quyền khống chế sẽ được
hoàn trả lại cho trang JSP hiện tại.
jsp:plugin Những phiên bản cũ của Netscape Navigator và Internet Explorer
dùng những thẻ khác để nhúng một chương trình nhỏ (applet). Hành
động này tạo nên thẻ thuộc trình duyệt web cần thiết để bao gồm
applet.
jsp:fallback Phần nội dung sẽ được hiển thị nếu trình duyệt web không hỗ trợ
applets.
jsp:getProperty Lấy thuộc tính của một JavaBean chỉ định.
jsp:setProperty Thiết lập thuộc tính của một JavaBean chỉ định.
jsp:useBean Kiến tạo hoặc dùng lại một JavaBean, là cái có thể dùng được trong
trang JSP.
Bả
n
g 4 –

Các

hành

động

trong

JSP
I
.2.
K
ế
t

n
ối c
ơ
s


dữ
liệ
u
I.
2.1.
K
ết

nố

i

tr

c

tiếp

bằ
n
g

trì
nh

điều

kh
iể
n



sở

dữ

li

u

JDBC

kết

nối

trực

tiếp

với

các

trình

điều

khiển

CSDL.

Khi

Java

phát

triển,


các

nhà

cung
cấp

hỗ

trợ

trình

điều

khiển

JDBC

kết

nối

trực

tiếp

với

các


trình

điều

khiển

đặc

thù

của

mỗi

hệ


không

cần

phải

qua

trung

gian


ODBC

của

Window

nữa.

Các

kết

nối

này

nhanh



hiệu
quả

hơn

kiểu

JDBC-ODBC.

Tuy


nhiên,

bạn

phải

mua

các

trình

điều

khiển

CSDL

đặc

thù

do
những

nhà

phát


triển



sở

dữ

liệu

cung

cấp.
Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
10
H
ì
nh
2 –
JDBC

kết

nối

trực

tiếp

với


trình

điều

khiển
I.
2.2.
K
ết

nố
i

th
ô
ng

q
ua

c
ầu

nố
i

ODBC

(Open


Databas
e

Co
nn
ec
ti
v
i
ty
)
ODBC

(Open

Source

Connectivity)



cách

kết

nối

tổng


quát

nhất

đến

mọi

hệ



sở

dữ

liệu
thông

qua

trình

quản



ODBC

của


Windows.

Mỗi

hệ



sở

dữ

liệu

sẽ

cung

cấp

một

trình
điều

khiển




khả

năng

đọc

hiểu

được



sở

dữ

liệu

của

chúng.

Trình

điều

khiển

này


sẽ

được
đăng



với

bộ

quản



ODBC.

Tất

cả

các

lệnh

truy

xuất




sở

dữ

liệu

sau

đó

được

thực

thi
bằng

lệnh

SQL.

Java

cho

bạn

sử


dụng

JDBC

để

gọi

ODBC



bằng

cách

này

bạn



thể

kiểm
soát

nhiều

hệ


quản

trị



sở

dữ

liệu

khác

nhau.

Quan

hệ

cầu

nối

JDBC-ODBC

được

thể


hiện


hình

dưới.

Sun

cung

cấp

sẵn

thư

viện

JDBC-ODBC

kèm

theo

bộ

JDK




bạn



thể

dùng
miễn

phí.
Java

Application,
Applet,

Servlet
JDBC

Driver
ODBC
Database

Driver
CSDL
H
ì
nh
3 –

JDBC

sử

dụng

cầu

nối

ODBC
I.
2.3.
K
ế
t

nố
i

t
h
ô
n
g

q
ua

ứn

g

d
ụn
g

m

n
g

t
r
un
g

g
ia
n
Ngày

nay

các

ứng

dụng

đều


gắn

liền

với

mạng

Internet.

Theo



hình

lập

trình

phân

tán,
ứng

dụng

mạng


trung

gian

(middle-ware)

trên

một

máy

chủ

sẽ

chịu

trách

nhiệm

kết
nối CSDL.

Nhiệm

vụ

của


trình

khách



sử

dụng

những

trình

điều

khiển

JDBC

gọn

nhẹ,


khả năng

giao


tiếp

với

ứng

dụng

trung

gian

qua

Internet

để

truy

vấn

dữ

liệu.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
11
H
ì

nh
4 –
JDBC

kết

nối

thông

qua

các

ứng

dụng

mạng

trung

gian
II
.
M
ô

h
ì

nh

ph
át

tr
iể
n

ứn
g

dụn
g

W
e
b
Khi

giới

thiệu

công

nghệ

JSP,


Sun

cũng

đưa

ra

những

cách

để

làm

việc

với





định
nghĩa

2




hình

để

xây

dựng

ứng

dụng

Web

dựa

trên

JSP.

Hai



hình

đó

được


biết

như




hình

1





hình

2



chúng

biểu

diễn

những


cách

tiếp

cận

khác

nhau

để

xây

dựng

ứng
dụng

Web

dựa

trên

JSP.



hình


1

đơn

giản

hơn



hình

2





giải

pháp

chính

để

xây
dựng


ứng

dụng

Web

khi

công

nghệ

JSP

được

giới

thiệu

lần

đầu

tiên.

Tuy

nhiên,


qua

thời

gian


hình

2

được

chấp

nhận



giải

pháp

tốt

nhất

để

xây


dựng

ứng

dụng

Web

dựa

trên

JSP.
II
.1.
K
iế
n

tr
ú
c
m
ô
h
ì
nh
1
H

ì
nh
5 –


hình

1
Cấu

trúc



hình

1

rất

đơn

giản,

một

request

tạo


bởi

JSP

hoặc

Servlet



sau

đó

JSP

hoặc
Servlet

kia

sẽ

xử



request,

kiểm


tra

tính

hợp

lệ

dữ

liệu,

xử



các

nguyên

tắc

tác

nghiệp

và tạo
ra


một

response.

Mặc



đơn

giản,

nhưng



hình

1

không

thích

hợp

để

phát


triển

những ứng
dụng

lớn

bởi



chắc

hẳn

một

số

lượng

lớn

các

hàm

sẽ

đươc


nhân

bản

trong

mỗi

trang JSP.
Không

những

thế,



hình

1

còn

không

cần

thiết


phải



sự

liên

kết

giữa

bussiness

logic


presentation

logic

của

ứng

dụng.

Khi

kết


hợp

business

logic

với

presentation

logic

làm

cho


khó



thể

đưa

vào

một


“view”

mới

hay

một

điểm

truy

cập

mới

trong

ứng

dụng.



dụ

như

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
12

trong

một

giao

diện

HTML,

bạn

muốn

thêm

vào

một

giao

diện

mới

như

Wireless


Markup
Language

(WML)

cho

truy

cập

không

dây

thì

việc

đó



rất

khó.
II
.2.
K
iế

n

tr
ú
c
m
ô
h
ì
nh
2 (
Mo
d
el – View –
C
o
nt
r
oll
er
)
H
ì
nh
6 –


hình

2


(MVC)


hình

2

hay



hình

Model



View



Controller

(MVC)

đã

giải


quyết

nhiều

vấn

đề

cố
hữu

của



hình

1.

Trong



hình

MVC

Cont
r
olle

r



một

Servlet

trung

tâm

nhận

tất

cả

các
request

từ

phía

client.

Cont
r
olle

r

sẽ

phân

loại



xử



các

request.

Khi

xử



các

request,

tầng
Mo

del

bên

dưới

sẽ

cung

cấp

các

phương

thức

cho

Cont
r
olle
r.

Bên

trong

Mo

del



2

tầng

tách
biệt



B
usiness

Log
ic



D
a
t
a

M
a
nipul
a

tion.

B
usiness

Lo
gic

đặc

tả

tất

cả

các

đối
tượng tương

tác

trong

toàn

bộ

hệ


thống

còn

D
a
t
a

M
a
nipul
a
tion

đặc

tả

tất

cả

các

luật


phương


thức
xử



của

các

đối

tượng

trên.

Sau

khi

xử

lý,

Cont
r
olle
r

sẽ


trả

dữ

liệu

về

cho

client

thông

qua
đối

tượng

response,

sau

đó

đối

tượng


này

được

trình

diễn



tầng

Vi
ew
.

Vi
ew

bao

gồm

tất

cả
các

JSP


thực

hiện

việc

trình

diễn

dữ

liệu



các

form

để

nhận

các

request

tiếp


theo.

Trong


hình

này

business

logic

với

presentation

logic

được

tách

biệt

lẫn

nhau,

sự


tách

biệt

này

cung
cấp

nhiều

loại

giao

diện

khác

nhau

cho

ứng

dụng,




thể



Web,

wireless,

hoặc

GUI

(Swing).
Thêm

vào

đó,

sự

tách

biệt

này

cũng

cho


phép

chúng

ta

sử

dụng

lại



lệnh

một

cách

dễ

dàng.
III
.

Ng
ôn


n
gữ

m
ô

h
ì
nh

h
ó
a

t
hố
n
g

nh

t

(
UML
)
III
.1.
G
i


i
t
h
iệ
u

UML
II
I.
1.1.




nh

h
ó
a

hệ

t
h
ốn
g

p
h

ần

mềm
Mục

tiêu

của

giai

đoạn

phân

tích

hệ

thống



sản

xuất

ra

một




hình

tổng

thể

của
hệ thống

cần

xây

dựng.



hình

này

cần

phải

được


trình

bày

theo

hướng

nhìn

(View)

của
khách hàng

hay

người

sử

dụng



làm

sao

để


họ

hiểu

được.



hình

này

cũng



thể

được

sử
dụng
để

xác

định

các


yêu

cầu

của

người

dùng

đối

với

hệ

thống



qua

đó

giúp

chúng

ta


đánh

giá
tính

khả

thi

của

dự

án.
Tầm

quan

trọng

của



hình

đã

được


lĩnh

hội

một

cách

thấu

đáo

trong

hầu

như

tất

cả

các
ngành

khoa

học


kỹ

thuật

từ

nhiều

thế

kỷ

nay.

Bất

kỳ



đâu,

khi

muốn

xây

dựng


một

vật

thể
nào

đó,

đầu

tiên

người

ta

đã

tạo

nên

các

bản

vẽ

để


quyết

định

cả

ngoại

hình

lẫn

phương

thức
hoạt

động

của

nó.

Chẳng

hạn

các


bản

vẽ

kỹ

thuật

thường

gặp



một

dạng



hình
quen thuộc.



hình

nhìn

chung




một

cách



tả

của

một

vật

thể

nào

đó.

Vật

đó



thể


Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
13
tồn

tại

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
14
trong

một

số

giai

đoạn

nhất

định,



đó



giai


đoạn

thiết

kế

hay

giai

đoạn

xây

dựng

hoặc

chỉ


một

kế

hoạch.

Nhà


thiết

kế

cần

phải

tạo

ra

các



hình



tả

tất

cả

các

khía


cạnh

khác
nhau

của

sản

phẩm.

Ngoài

ra,

một



hình



thể

được

chia

thành


nhiều

hướng

nhìn,

mỗi
hướng

nhìn

trong

số

chúng

sẽ



tả

một

khía

cạnh


riêng

biệt

của

sản

phẩm

hay

hệ

thống

cần
được

xây

dựng.

Một



hình

cũng




thể

được

xây

dựng

trong

nhiều

giai

đoạn





mỗi

giai
đoạn,




hình

sẽ

được

bổ

sung

thêm

một

số

chi

tiết

nhất

định.


hình

thường

được




tả

trong

ngôn

ngữ

trực

quan,

điều

đó



nghĩa



đa

phần

các

thông

tin

được

thể

hiện

bằng

các



hiệu

đồ

họa



các

kết

nối


giữa

chúng,

chỉ

khi

cần

thiết
một

số

thông

tin

mới

được

biểu

diễn



dạng


văn

bản;

Theo

đúng

như

câu

ngạn

ngữ

"Một

bức
tranh

nói

nhiều

hơn

cả


ngàn

từ".

Tạo



hình

cho

các

hệ

thống

phần

mềm

trước

khi

thực

sự
xây


dựng

nên

chúng,

đã

trở

thành

một

chuẩn

mực

trong

việc

phát

triển

phần

mềm




được
chấp

nhận

trong

cộng

đồng

làm

phần

mềm

giống

như

trong

bất

kỳ


một

ngành

khoa

học

kỹ
thuật

nào

khác.

Việc

biểu

diễn



hình

phải

thõa

mãn


các

yếu

tố

sau:
− Chính

xác

(accurate):



tả

đúng

hệ

thống

cần

xây

dựng.
− Đồng


nhất

(consistent):

Các

view

khác

nhau

không

được

mâu

thuẩn

với

nhau.
− Có

thể

hiểu


được

(understandable):

Cho

những

người

xây

dựng

lẫn

sử

dụng
− Dễ

thay

đổi

(changeable)
− Dễ

dàng


liên

lạc

với

các



hình

khác.


thể

nói

thêm

rằng



hình



một


sự

đơn

giản

hoá

hiện

thực.



hình

được

xây

dựng
nên

để

chúng

ta


dễ

dàng

hiểu



hiểu

tốt

hơn

hệ

thống

cần

xây

dựng.

Tạo



hình


sẽ

giúp

cho
chúng

ta

hiểu

thấu

đáo

một

hệ

thống

phức

tạp

trong

sự

toàn


thể

của

nó.
Nói

tóm

lại,



hình

hóa

một

hệ

thống

nhằm

mục

đích:
− Hình


dung

một

hệ

thống

theo

thực

tế

hay

theo

mong

muốn

của

chúng

ta

.

− Chỉ



cấu

trúc

hoặc

ứng

xử

của

hệ

thống.
− Tạo

một

khuôn

mẫu

hướng

dẫn


nhà

phát

triển

trong

suốt

quá

trình

xây

dựng

hệ

thống.
− Ghi

lại

các

quyết


định

của

nhà

phát

triển

để

sử

dụng

sau

này.
II
I.
1.2.

T

ớc

kh
i


UML

ra

đời
Đầu

những

năm

1980,

ngành

công

nghệ

phần

mềm

chỉ



duy

nhất


một

ngôn

ngữ

hướng
đối

tượng



Simula.

Sang

nửa

sau

của

thập

kỷ

1980,


các

ngôn

ngữ

hướng

đối

tượng
như Smalltalk



C++

xuất

hiện.

Cùng

với

chúng,

nảy

sinh


nhu

cầu



hình

hoá

các

hệ
thống phần

mềm

theo

hướng

đối

tượng.



một


vài

trong

số

những

ngôn

ngữ



hình

hoá
xuất

hiện những

năm

đầu

thập

kỷ

90


được

nhiều

người

dùng

là:
− Grady

Booch’s

Booch

Modeling

Methodology
− James

Rambaugh’s

Object

Modeling

Technique




OMT
− Ivar

Jacobson’s

OOSE

Methodology

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
15
− Hewlett-

Packard’s

Fusion
− Coad

and

Yordon’s

OOA

and

OOD
Mỗi


phương

pháp

luận



ngôn

ngữ

trên

đều



hệ

thống



hiệu

riêng,

phương


pháp

xử


riêng



công

cụ

hỗ

trợ

riêng,

khiến

xảy

ra

cuộc

tranh

luận


phương

pháp

nào



tốt

nhất.

Đây


cuộc

tranh

luận

khó



câu

trả


lời,

bởi

tất

cả

các

phương

pháp

trên

đều



những

điểm
mạnh



điểm

yếu


riêng.



thế,

các

nhà

phát

triển

phần

mềm

nhiều

kinh

nghiệm

thường

sử
dụng


phối

hợp

các

điểm

mạnh

của

mỗi

phương

pháp

cho

ứng

dụng

của

mình.

Trong


thực

tế,
sự

khác

biệt

giữa

các

phương

pháp

đó

hầu

như

không

đáng

kể




theo

cùng

tiến

trình

thời
gian,

tất

cả

những

phương

pháp

trên

đã

tiệm

cận


lại



bổ

sung

lẫn

cho

nhau.

Chính

hiện

thực
này

đã

được

những

người

tiên


phong

trong

lĩnh

vực



hình

hoá

hướng

đối

tượng

nhận

ra


họ

quyết


định

ngồi

lại

cùng

nhau

để

tích

hợp

những

điểm

mạnh

của

mỗi

phương

pháp




đưa
ra

một



hình

thống

nhất

cho

lĩnh

vực

công

nghệ

phần

mềm.
III
.1.3.


S


ra

đời

c

a

UML
Trong

bối

cảnh

trên,

người

ta

nhận

thấy

cần


thiết

phải

cung

cấp

một

phương

pháp

tiệm

cận
được

chuẩn

hoá



thống

nhất


cho

việc



hình

hoá

hướng

đối

tượng.

Yêu

cầu

cụ

thể



đưa
ra

một


tập

hợp

chuẩn

hoá

các



hiệu

(Notation)



các

biểu

đồ

(Diagram)

để

nắm


bắt

các
quyết

định

về

mặt

thiết

kế

một

cách



ràng,

rành

mạch.

Đã




ba

công

trình

tiên

phong

nhắm
tới

mục

tiêu

đó,

chúng

được

thực

hiện

dưới


sự

lãnh

đạo

của

James

Rumbaugh,

Grady

Booch


Ivar

Jacobson.

Chính

những

cố

gắng


này

dẫn

đến

kết

quả



xây

dựng

được

một

Ngôn

Ngữ


Hình

Hoá

Thống


Nhất

(Unifield

Modeling

Language



UML).
UML



một

ngôn

ngữ



hình

hoá

thống


nhất



phần

chính

bao

gồm

những



hiệu

hình
học,

được

các

phương

pháp

hướng


đối

tượng

sử

dụng

để

thể

hiện



miêu

tả

các

thiết

kế

của
một


hệ

thống.





một

ngôn

ngữ

để

đặc

tả,

trực

quan

hoá,

xây

dựng




làm

sưu

liệu

cho
nhiều

khía

cạnh

khác

nhau

của

một

hệ

thống



nồng


độ

phần

mềm

cao.

UML



thể

được

sử
dụng

làm

công

cụ

giao

tiếp


giữa

người

dùng,

nhà

phân

tích,

nhà

thiết

kế



nhà

phát

triển
phần

mềm.
Trong


quá

trình

phát

triển



nhiều

công

ty

đã

hỗ

trợ



khuyến

khích

phát


triển

UML


thể

kể

tới

như

:

Hewlett

Packard,

Microsoft,

Oracle,

IBM,

Unisys.
III
.1.4.

UML


(U
n
ifie
l
d

Mode
li
n
g

La
n
g
u
a
ge)
Ngôn

ngữ



hình

hóa

thống


nhất

(Unifield

Modeling

Language



UML)



một

ngôn

ngữ
để

biểu

diễn



hình

theo


hướng

đối

tượng

được

xây

dựng

bởi

ba

tác

giả

trên

với

chủ

đích

là:

− Mô

hình

hoá

các

hệ

thống

sử

dụng

các

khái

niệm

hướng

đối

tượng.
− Thiết

lập


một

kết

nối

từ

nhận

thức

của

con

người

đến

các

sự

kiện

cần




hình

hoá.
− Giải

quyết

vấn

đề

về

mức

độ

thừa

kế

trong

các

hệ

thống


phức

tạp,



nhiều

ràng

buộc
khác

nhau.
− Tạo

một

ngôn

ngữ



hình

hoá




thể

sử

dụng

được

bởi

người



máy.

Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
16
III
.2.
UM
L
v
à
c
á
c g
iai

đ

o

n
c
ủa
c
hu

tr
ìn
h

ph
át

tri

n

ph
ần

mề
m
II
I.
2.1.

G
iai


đoạ
n

n
gh
i
ê
n

c

u



bộ
UML

đưa

ra

khái

niệm

Use

C

a
se

để

nắm

bắt

các

yêu

cầu

của

khách

hàng

(người

sử

dụng).
UML

sử


dụng

biểu

đồ

Use

case

(Use

Case

Diagram)

để

nêu

bật

mối

quan

hệ

cũng


như

sự
giao

tiếp

với

hệ

thống.
Qua

phương

pháp



hình

hóa

Use

case,

các


tác

nhân

(Actor)

bên

ngoài

quan

tâm

đến

hệ
thống

sẽ

được



hình

hóa

song


song

với

chức

năng



họ

đòi

hỏi

từ

phía

hệ

thống

(tức


Use


case).

Các

tác

nhân



các

Use

case

được



hình

hóa

cùng

các

mối


quan

hệ



được
miêu

tả

trong

biểu

đồ

Use

case

của

UML.

Mỗi

một

Use


case

được



tả

trong

tài

liệu,



sẽ
đặc

tả

các

yêu

cầu

của


khách

hàng:

Anh

ta

hay

chị

ta

chờ

đợi

điều





phía

hệ

thống



không

hề

để

ý

đến

việc

chức

năng

này

sẽ

được

thực

thi

ra

sao.

II
I.
2.2.

G
iai

đoạ
n

p
h
â
n


c
h
Giai

đoạn

phân

tích

quan

tâm


đến

quá

trình

trừu

tượng

hóa

đầu

tiên

(các

lớp



các

đối
tượng)

cũng

như




chế

hiện

hữu

trong

phạm

vi

vấn

đề.

Sau

khi

nhà

phân

tích

đã


nhận

biết
được

các

lớp

thành

phần

của



hình

cũng

như

mối

quan

hệ


giữa

chúng

với

nhau,

các

lớp
cùng

các

mối

quan

hệ

đó

sẽ

được

miêu

tả


bằng

công

cụ

biểu

đồ

lớp

(class

diagram)

của

UML.
Sự

cộng

tác

giữa

các


lớp

nhằm

thực

hiện

các

Use

case

cũng

sẽ

được

miêu

tả

nhờ

vào

các



hình

động

(dynamic

models)

của

UML.

Trong

giai

đoạn

phân

tích,

chỉ

duy

nhất

các


lớp


tồn

tại

trong

phạm

vi

vấn

đề

(các

khái

niệm

đời

thực)




được



hình

hóa.

Các

lớp

kỹ

thuật
định

nghĩa

chi

tiết

cũng

như

giải

pháp


trong

hệ

thống

phần

mềm,



dụ

như

các

lớp

cho

giao
diện

người

dùng,


cho

ngân

hàng

dữ

liệu,

cho

sự

giao

tiếp,

trùng

hợp,

v.v...,

chưa

phải




mối
quan

tâm

của

giai

đoạn

này.
II
I.
2.3.

G
iai

đoạ
n

t
h
i
ế
t

kế
Trong


giai

đoạn

này,

kết

quả

của

giai

đoạn

phân

tích

sẽ

được

mở

rộng

thành


một

giải

pháp
kỹ

thuật.

Các

lớp

mới

sẽ

được

bổ

sung

để

tạo

thành


một

hạ

tầng



sở

kỹ

thuật:

Giao

diện
người

dùng,

các

chức

năng

để

lưu


trữ

các

đối

tượng

trong

ngân

hàng

dữ

liệu,

giao

tiếp

với

các
hệ

thống


khác,

giao

diện

với

các

thiết

bị

ngoại

vi



các

máy

móc

khác

trong


hệ

thống,

....

Các
lớp

thuộc

phạm

vi

vấn

đề



từ

giai

đoạn

phân

tích


sẽ

được

"nhúng"

vào

hạ

tầng



sở

kỹ
thuật

này,

tạo

ra

khả

năng


thay

đổi

trong

cả

hai

phương

diện:

Phạm

vi

vấn

đề



hạ

tầng


sở.


Giai

đoạn

thiết

kế

sẽ

đưa

ra

kết

quả



bảng

đặc

tả

chi

tiết


cho

giai

đoạn

xây

dựng

hệ
thống.
II
I.
2.4.

G
iai

đoạ
n

x
â
y

d

n

g
Trong

giai

đoạn

xây

dựng

(giai

đoạn

lập

trình),

các

lớp

của

giai

đoạn

thiết


kế

sẽ

được

biến
thành

những

dòng

code

cụ

thể

trong

một

ngôn

ngữ

lập


trình

hướng

đối

tượng

cụ

thể

(không
nên

dùng

một

ngôn

ngữ

lập

trình

hướng

chức


năng!).

Phụ

thuộc

vào

khả

năng

của

ngôn

ngữ
được

sử

dụng,

đây



thể




một

công

việc

khó

khăn

hay

dễ

dàng.

Khi

tạo

ra

các



hình
phân


tích



thiết

kế

trong

UML,

tốt

nhất

nên

cố

gắng



tránh

việc

ngay


lập

tức

biến

đổi

các


hình

này

thành

các

dòng

code.

Trong

những

giai


đoạn

trước,



hình

được

sử

dụng

để

dễ
hiểu,

dễ

giao

tiếp



tạo

nên


cấu

trúc

của

hệ

thống;



vậy,

vội

vàng

đưa

ra

những

kết

luận

về


Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
17
việc

viết

code



thể

sẽ

thành

một

trở

ngại

cho

việc

tạo

ra


các



hình

chính

xác



đơn

giản.
Giai

đoạn

xây

dựng



một

giai


đoạn

riêng

biệt,

nơi

các



hình

được

chuyển

thành

code.
II
I.
2.5.

T
hử

n
gh

i
ệm
Một

hệ

thống

phần

mềm

thường

được

thử

nghiệm

qua

nhiều

giai

đoạn




với

nhiều

nhóm
thử

nghiệm

khác

nhau.

Các

nhóm

sử

dụng

nhiều

loại

biểu

đồ

UML


khác

nhau

làm

nền

tảng
cho

công

việc

của

mình:

Thử

nghiệm

đơn

vị

sử


dụng

biểu

đồ

lớp

(class

diagram)



đặc

tả
lớp,

thử

nghiệm

tích

hợp

thường

sử


dụng

biểu

đồ

thành

phần

(component

diagram)



biểu

đồ
cộng

tác

(collaboration

diagram),




giai

đoạn

thử

nghiệm

hệ

thống

sử

dụng

biểu

đồ

Use

case
(use

case

diagram)

để


đảm

bảo

hệ

thống



phương

thức

hoạt

động

đúng

như

đã

được

định
nghĩa


từ

ban

đầu

trong

các

biểu

đồ

này.
II
I.
2.6.

C
á
c

t
h
à
nh

p
h

ần

c

a

n

n

n
g


UML
Ngôn

ngữ

UML

bao

gồm

một

loạt

các


phần

tử

đồ

họa

(graphic

element)



thể

được

kết
hợp

với

nhau

để

tạo


ra

các

biểu

đồ.

Bởi

đây



một

ngôn

ngữ,

nên

UML

cũng



các


nguyên
tắc

để

kết

hợp

các

phần

tử

đó.
Một

số

những

thành

phần

chủ

yếu


của

ngôn

ngữ

UML:

H
ư

n
g

nh
ì
n

(v
ie
w)
:

Hướng

nhìn

chỉ

ra


những

khía

cạnh

khác

nhau

của

hệ

thống

cần
phải

được



hình

hóa.

Một


hướng

nhìn

không

phải



một

bản

vẽ,





một

sự

trừu
tượng

hóa

bao


gồm

một

loạt

các

biểu

đồ

khác

nhau.

Chỉ

qua

việc

định

nghĩa

của

một

loạt

các

hướng

nhìn

khác

nhau,

mỗi

hướng

nhìn

chỉ

ra

một

khía

cạnh

riêng


biệt

của

hệ
thống,

người

ta

mới



thể

tạo

dựng

nên

một

bức

tranh

hoàn


thiện

về

hệ

thống.

Cũng
chính

các

hướng

nhìn

này

nối

kết

ngôn

ngữ




hình

hóa

với

quy

trình

được

chọn

cho
giai

đoạn

phát

triển.
− Biể
u

đồ

(d
ia
g

ram
):

Biểu

đồ



các

hình

vẽ

miêu

tả

nội

dung

trong

một

hướng

nhìn.

UML



tất

cả

9

loại

biểu

đồ

khác

nhau

được

sử

dụng

trong

những


sự

kết

hợp

khác
nhau

để

cung

cấp

tất

cả

các

hướng

nhìn

của

một

hệ


thống.

P
h
ần

t




h
ì
nh

h
ó
a

(model

elem
en
t
):

Các

khái


niệm

được

sử

dụng

trong

các

biểu
đồ

được

gọi



các

phần

tử




hình,

thể

hiện

các

khái

niệm

hướng

đối

tượng

quen
thuộc.



dụ

như

lớp,

đối


tượng,

thông

điệp

cũng

như

các

quan

hệ

giữa

các

khái

niệm
này,

bao

gồm


cả

liên

kết,

phụ

thuộc,

khái

quát

hóa.

Một

phần

tử



hình

thường

được
sử


dụng

trong

nhiều

biểu

đồ

khác

nhau,

nhưng



luôn

luôn

chỉ



một

ý


nghĩa



một


hiệu.
− C
ơ

c
h
ế

c
hun
g:



chế

chung

cung

cấp


thêm

những

lời

nhận

xét,

bổ

sung

các

thông
tin

cũng

như

các

quy

tắc

ngữ


pháp

chung

về

một

phần

tử



hình;

chúng

còn

cung
cấp

thêm

các




chế

để



thể

mở

rộng

ngôn

ngữ

UML

cho

phù

hợp

với

một

phương
pháp


xác

định

(một

quy

trình,

một

tổ

chức

hoặc

một

người

dùng).

×