ĐẠ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
MÃ
NGÀNH
:
05115
ĐỀ
TÀ
I
:
NGH
I
ÊN
CỨU
XÂY
DỰ
NG
H
Ệ
THỐNG
WE
BSI
TE
QUẢN
LÝ
ĐÀO
TẠO
TÍN
CHỈ
CHO
ĐẠI
HỌC
ĐÀ
NẴNG
Mã
số
:
02
T
4-15
02
T
4-21
Ngà
y
b
ảo
vệ
:
13/06/2007
–
15/06/2007
SI
NH
VI
ÊN
:
Lê
Vă
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
Hư
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ó
công
sinh
t
h
ành,
dưỡ
ng
dục
chúng
t
ô
i
đến
ngà
y
hô
m
nay.
Chúng
t
ô
i
xi
n
ch
â
n
thành
cả
m
ơ
n
c
á
c
th
ầ
y
cô
t
r
ong
k
ho
a
Công
nghệ
Th
ông
ti
n,
c
á
c
th
ầ
y
cô
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
nă
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
Hư
ng
-
thuộc
bộ
m
ôn
M
ạ
ng
m
á
y
tí
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
tì
nh
hướ
ng
d
ẫ
n,
động
viên
và
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
và
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à
tư
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
bè
g
ầ
n
xa,
b
ạ
n
bè
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
và
tài
li
ệu
cho
chúng
t
ô
i
t
r
ong
qu
á
t
rì
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
Lê
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
là
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
Hư
ng.
2
M
ọ
i
tham
k
hảo
dùng
t
r
ong
lu
ậ
n
văn
đều
đ
ượ
c
t
rí
ch
d
ẫ
n
rõ
r
àng
tên
t
á
c
gi
ả,
tên
công
t
rì
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
rá
,
t
ô
i
xin
ch
ị
u
h
oàn
toàn
t
rá
ch
nhiệ
m
.
Sinh
vi
ên,
Lê
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
CƠ
SỞ
LÝ
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
cơ
sở
dữ
liệu......................................................................................
9
II. Mô
hình
phát
triển
ứng
dụng
Web
......................................................................
11
II.1. Kiến
trúc
mô
hình
1
.....................................................................................
11
II.2. Kiến
trúc
mô
hình
2
(Model
–
View
–
Controller)......................................
12
III. Ngôn
ngữ
mô
hình
hóa
thống
nhất
(UML)
.........................................................
12
III.1. Giới
thiệu
UML
.......................................................................................
12
III.2. UML
và
các
giai
đoạn
của
chu
trình
phát
triển
phần
mềm
......................
15
PH
ÂN
TÍ
CH
VÀ
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
VÀ
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
mô
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
lý
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
lý
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
–
Mô
hình
1
.................................................................................................................
11
Hình
6
–
Mô
hình
2
(MVC).....................................................................................................
12
Hình
7
–
Quy
trình
sinh
viên
đăng
ký
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
ký
lớp
học
phần..............................
37
Hình
18
–
Sequence
Diagram
của
usecase
sinh
viên
đăng
ký
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
và
điểm
.........................................................................
42
Hình
27
–
Class
Diagram:
Sinh
viên
và
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
–
Sơ
đồ
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
ký
...................................................................................................
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ị
mô
tả
học
phần
và
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
kê
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
–
Mã
của
một
số
trường
thuộc
ĐH
Đà
Nẵng...............................................................
21
Bảng
8
–
Mã
của
các
khoa
.......................................................................................................
22
Bảng
9
–
Mã
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
là
nền
tảng
cho
sự
phát
triển
của
cả
một
dân
tộc,
đặc
biệt
là
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
là
giáo
dục
đại
học.
Trên
thế
giới,
các
quốc
gia
đã
phát
triển
đều
là
những
nước
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
là
Hoa
Kỳ,
Nhật
Bản,
Anh
và
gần
chúng
ta
nhất
là
Singapore.
Nền
giáo
dục
của
nước
ta
đang
từng
bước
cải
cách
và
phát
triển.
đại
học
Đà
Nẵng
là
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
lý
đào
tạo
tín
chỉ
tuy
là
một
công
việc
khó
khăn
và
phức
tạp
nhưng
công
việc
này
vô
cùng
quan
trọng;
quản
lý
tốt
thì
chất
lượng
đào
tạo
được
nâng
cao.
Hiện
tại,
việc
quản
lý
đà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
lý
mới
xây
dựng,
chưa
thống
nhất,…
và
việc
quản
lý
này
vẫn
còn
mang
nhiều
ảnh
hưởng
của
hệ
thống
quản
lý
niên
chế
hiện
có.
Sinh
viên
phải
đăng
ký
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
lý
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à
làm
sao
để
xây
dựng
được
một
hệ
thống
website
quản
lý
đào
tạo
tín
chỉ
đáp
ứng
được
tất
cả
nhu
cầu
cho
giáo
viên,
sinh
viên
và
quản
trị
viên.
Cụ
thể
là
hệ
thống
website
phải
có
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
và
danh
sách
các
lớp
học
phần
mà
mình
dạy,
cụ
thể
là
giáo
viên
sẽ
dạy
ở
phòng
nào,
môn
gì
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à
mình
đã
đạt
được,
biết
được
rằng
nên
đăng
ký
môn
học
nào
trước
và
cuối
cùng
là
cho
phép
sinh
viên
đăng
ký
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
và
dễ
dàng
xây
dựng
thời
khóa
biểu
cho
các
lớp
học
phần
mà
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
và
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
lý
đào
tạo
tín
chỉ;
từ
đó
chúng
tôi
đưa
ra
những
giải
pháp
khắc
phục
và
cuối
cùng
là
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
lý
đào
tạo
tín
chỉ
có
đầ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
.
Hư
ớn
g
n
gh
iê
n
cứu
III
.1. Về
mặ
t
lý
t
hu
y
ết
Nghiên
cứu
việc
quản
lý
đà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
lý
đào
tạo
tín
chỉ.
Nghiên
cứu
lý
thuyết
xây
dựng
một
hệ
thống
website
tác
nghiệp
bằng
công
nghệ
Java,
cụ
thể
là
JSP
và
Servlet.
Đưa
ra
các
định
hướng
phát
triển
của
đề
tài.
III
.2.
C
ôn
g
cụ
xâ
y
dựn
g
đề
t
à
i
Công
cụ
nghiên
cứu
cơ
sở
lý
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
và
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ụ
và
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
lý
đà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ể
là
giáo
viên
có
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
có
thể
xem
danh
sách
các
lớp
học
phần
mà
mình
dạy.
Cụ
thể
là
có
thể
xem
được
số
lượng
sinh
viên
tối
đa,
số
lượng
sinh
viên
tối
thiểu
và
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
hư
ơn
g
trìn
h
:
Sinh
viên
xem
khung
chương
trình
mà
mình
cần
học.
Cụ
thể
là
sinh
viên
có
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
có
thể
xem
danh
sách
các
học
phần
và
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
và
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ể
là
sinh
viên
có
thể
biết
được
điểm
của
từng
học
phần
mà
mình
đã
học,
biết
được
số
tín
chỉ
mình
đã
đạt
được
và
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
ký
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
ký
vào
một
trong
các
lớp
đó.
Quá
trình
đăng
ký
này
sẽ
được
kiểm
tra
chặt
chẽ
các
ràng
buộc.
Ngoài
ra,
sinh
viên
có
thể
hủy
bỏ
một
lớp
học
phần
mà
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á
c
dan
h
sá
c
h
liê
n
qu
an
:
Nhân
viên
quản
trị
(admin)
sau
khi
đăng
nhập
sẽ
có
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
và
các
thông
tin
khác.
Các
danh
sách
này
được
lưu
ở
dạng
file
excel
và
tự
động
được
cập
nhật
vào
cơ
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
lý
đào
tạo.
−
Nh
ân
viê
n
qu
ả
n
trị
xâ
y
dựn
g
khun
g
c
hư
ơ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
ị
xâ
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
mà
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.
Cơ
sở
lý
thuyết:
Giới
thiệu
tổng
quan
lý
thuyết
và
công
cụ
thực
hiện
để
tài.
Trong
chương
này,
chúng
tôi
trình
bày
lý
thuyết
xây
dựng
một
hệ
thống
website
bằng
ngôn
ngữ
JSP
theo
mô
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
và
thiết
kế
hệ
thống.
Ch
ư
ơn
g
3.
Xây
dựng
chương
trình
và
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
và
các
kết
quả
đạt
được.
Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4
4
CHƯ
Ơ
NG
1
CƠ
SỞ
LÝ
THUYẾT
I
.
L
ập
trìn
h
J
av
a
tr
o
n
g
mô
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
là
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
và
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ì
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
vì
làm
rõ
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)
Cơ
sở
để
xây
dựng
và
phát
triển
hệ
thống
website
trên
Internet
là
ngôn
ngữ
HTML.
Trang
Web
là
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ỉ
là
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
và
đượ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.
Tê
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
là
một
chương
trình
ở
phía
Client
dùng
để
hiển
thị
tài
liệu
HTML.
Để
có
đượ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
là
Url.
Khi
nhận
được
tài
liệu,
trình
duyệt
sẽ
đọc,
phân
tích
và
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
có
thể
nhập
dữ
liệu
và
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,...
và
yêu
cầu
trình
duyệt
gửi
về
máy
chủ
xử
lý
thông
qua
thao
tác
được
gọi
là
submit.
Với
đề
tài
này
có
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)
là
đị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ụ
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)
là
cách
thức
để
trình
duyệt
kết
nối
với
máy
chủ
server.
HTTP
là
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
và
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:
Tê
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
và
JS
P
Với
HTTP
và
HTML,
chúng
ta
có
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
và
các
trang
web
động
có
khả
năng
tương
tác
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
là
một
máy
tính
có
cài
phần
mềm
Web
server,
nó
nhận
các
yêu
cầu
(request)
HTTP
từ
phía
client
và
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
là
cơ
sở
để
triển
khai
các
ứng
dụng
Web
sử
dụng
ngôn
ngữ
lập
trình
Java,
là
công
nghệ
quan
trọng,
cơ
bản
để
triển
khai
ứng
dụng
Web:
Java
Server
Page.
Servlet
là
một
lớp
Java
có
thể
được
load
động
và
được
chạy
bởi
một
Web
Server
đặc
biệt.
Một
Web
Server
hiểu
được
Servlet
được
gọi
là
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
mô
hình
request-response
dựa
trên
HTTP.
Bởi
vì
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ử
lý
các
yêu
cầu
người
sử
dụng
và
trả
về
hồi
đáp
đến
servlet
container.
Sau
đó
servlet
vẫn
ở
trong
bộ
nhớ
để
đợi
các
yêu
cầu
khác
nó
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
có
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
là
tên
mà
trình
duyệt
dùng
triệu
gọi
Servlet
khi
bạn
thực
hiện
quá
trình
đăng
ký
và
ánh
xạ.
Tuy
nhiên,
bạn
cũng
có
thể
ánh
xạ
đổi
tên
Servlet
khác
với
tên
file
*.class
của
nó
thậm
chí
đổi
tên
tiếp
đầu
ngữ
dùng
để
triệu
gọi
Servlet.
Khi
có
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
nó
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()
mà
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
là
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
rì
nh
"
-
là
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
mã
Java
và
một
số
hành
động
xử
lý
đã
được
định
trước
(p
r
e-de
f
ined
ac
tions)
vào
trong nội
dung
tĩnh
của
trang.
Cú
pháp
của
JSP
cho
thêm
các
thẻ
XML
mới,
gọi
là
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ó,
là
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),
là
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)
là
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
có
thể
tạo
se
r
v
let
thành
mã
nguồn
Java
trước,
rồi
biên
dịch
mã
nguồn
ra
tập
tin
.cl
ass
dùng
bộ
biên
dịch
Java,
hoặc
có
thể
trực
tiếp
tạo
mã
byte
code
cho
se
r
v
let
từ
trang
JSP.
Một
trang
JSP
có
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)
và
các
biến
(variables),
ví
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
–
Có
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
mô
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
nó
để
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
là
một
thực
thể
có
chứa
dữ
liệu
liên
kết
với
toàn
bộ
trang
web.
Một
trang
HTML
nào
đấy
có
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
có
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:
Hà
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
cơ
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ệ
mà
không
cần
phải
qua
trung
gian
ODBC
của
Window
nữa.
Các
kết
nối
này
nhanh
và
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
cơ
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)
là
cách
kết
nối
tổng
quát
nhất
đến
mọi
hệ
cơ
sở
dữ
liệu
thông
qua
trình
quản
lý
ODBC
của
Windows.
Mỗi
hệ
cơ
sở
dữ
liệu
sẽ
cung
cấp
một
trình
điều
khiển
có
khả
năng
đọc
hiểu
được
cơ
sở
dữ
liệu
của
chúng.
Trình
điều
khiển
này
sẽ
được
đăng
ký
với
bộ
quản
lý
ODBC.
Tất
cả
các
lệnh
truy
xuất
cơ
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
và
bằng
cách
này
bạn
có
thể
kiểm
soát
nhiều
hệ
quản
trị
cơ
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
và
bạn
có
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
mô
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
là
sử
dụng
những
trình
điều
khiển
JDBC
gọn
nhẹ,
có
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
nó
và
định
nghĩa
2
mô
hình
để
xây
dựng
ứng
dụng
Web
dựa
trên
JSP.
Hai
mô
hình
đó
được
biết
như
là
Mô
hình
1
và
Mô
hình
2
và
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.
Mô
hình
1
đơn
giản
hơn
Mô
hình
2
và
là
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
Mô
hình
2
được
chấp
nhận
là
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 –
Mô
hình
1
Cấu
trúc
Mô
hình
1
rất
đơn
giản,
một
request
tạo
bởi
JSP
hoặc
Servlet
và
sau
đó
JSP
hoặc
Servlet
kia
sẽ
xử
lý
request,
kiểm
tra
tính
hợp
lệ
dữ
liệu,
xử
lý
các
nguyên
tắc
tác
nghiệp
và tạo
ra
một
response.
Mặc
dù
đơn
giản,
nhưng
Mô
hình
1
không
thích
hợp
để
phát
triển
những ứng
dụng
lớn
bởi
vì
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ế,
Mô
hình
1
còn
không
cần
thiết
phải
có
sự
liên
kết
giữa
bussiness
logic
và
presentation
logic
của
ứng
dụng.
Khi
kết
hợp
business
logic
với
presentation
logic
làm
cho
nó
khó
có
thể
đưa
vào
một
“view”
mới
hay
một
điểm
truy
cập
mới
trong
ứng
dụng.
Ví
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
đó
là
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 –
Mô
hình
2
(MVC)
Mô
hình
2
hay
mô
hình
Model
–
View
–
Controller
(MVC)
đã
giải
quyết
nhiều
vấn
đề
cố
hữu
của
Mô
hình
1.
Trong
mô
hình
MVC
Cont
r
olle
r
là
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
và
xử
lý
các
request.
Khi
xử
lý
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
có
2
tầng
tách
biệt
là
B
usiness
Log
ic
và
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
và
phương
thức
xử
lý
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
và
các
form
để
nhận
các
request
tiếp
theo.
Trong
mô
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,
có
thể
là
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
mã
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.
Mô
hì
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
là
sản
xuất
ra
một
mô
hình
tổng
thể
của
hệ thống
cần
xây
dựng.
Mô
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
và
làm
sao
để
họ
hiểu
được.
Mô
hình
này
cũng
có
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
và
qua
đó
giúp
chúng
ta
đánh
giá
tính
khả
thi
của
dự
án.
Tầm
quan
trọng
của
mô
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
là
một
dạng
mô
hình
quen thuộc.
Mô
hình
nhìn
chung
là
một
cách
mô
tả
của
một
vật
thể
nào
đó.
Vật
đó
có
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,
dù
đó
là
giai
đoạn
thiết
kế
hay
giai
đoạn
xây
dựng
hoặc
chỉ
là
một
kế
hoạch.
Nhà
thiết
kế
cần
phải
tạo
ra
các
mô
hình
mô
tả
tất
cả
các
khía
cạnh
khác
nhau
của
sản
phẩm.
Ngoài
ra,
một
mô
hình
có
thể
được
chia
thành
nhiều
hướng
nhìn,
mỗi
hướng
nhìn
trong
số
chúng
sẽ
mô
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
mô
hình
cũng
có
thể
được
xây
dựng
trong
nhiều
giai
đoạn
và
ở
mỗi
giai
đoạn,
mô
hình
sẽ
được
bổ
sung
thêm
một
số
chi
tiết
nhất
định.
Mô
hình
thường
được
mô
tả
trong
ngôn
ngữ
trực
quan,
điều
đó
có
nghĩa
là
đa
phần
các
thông
tin
được
thể
hiện
bằng
các
ký
hiệu
đồ
họa
và
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
mô
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
và
đượ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
mô
hình
phải
thõa
mãn
các
yếu
tố
sau:
− Chính
xác
(accurate):
Mô
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
mô
hình
khác.
Có
thể
nói
thêm
rằng
mô
hình
là
một
sự
đơn
giản
hoá
hiện
thực.
Mô
hình
được
xây
dựng
nên
để
chúng
ta
dễ
dàng
hiểu
và
hiểu
tốt
hơn
hệ
thống
cần
xây
dựng.
Tạo
mô
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,
mô
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ỉ
rõ
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
rư
ớc
kh
i
UML
ra
đời
Đầu
những
năm
1980,
ngành
công
nghệ
phần
mềm
chỉ
có
duy
nhất
một
ngôn
ngữ
hướng
đối
tượng
là
Simula.
Sang
nửa
sau
của
thập
kỷ
1980,
các
ngôn
ngữ
hướng
đối
tượng
như Smalltalk
và
C++
xuất
hiện.
Cùng
với
chúng,
nảy
sinh
nhu
cầu
mô
hình
hoá
các
hệ
thống phần
mềm
theo
hướng
đối
tượng.
Và
một
vài
trong
số
những
ngôn
ngữ
mô
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
và
ngôn
ngữ
trên
đều
có
hệ
thống
ký
hiệu
riêng,
phương
pháp
xử
lý
riêng
và
công
cụ
hỗ
trợ
riêng,
khiến
xảy
ra
cuộc
tranh
luận
phương
pháp
nào
là
tốt
nhất.
Đây
là
cuộc
tranh
luận
khó
có
câu
trả
lời,
bởi
tất
cả
các
phương
pháp
trên
đều
có
những
điểm
mạnh
và
điểm
yếu
riêng.
Vì
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ể
và
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
và
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
mô
hình
hoá
hướng
đối
tượng
nhận
ra
và
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
và
đưa
ra
một
mô
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á
và
thống
nhất
cho
việc
mô
hình
hoá
hướng
đối
tượng.
Yêu
cầu
cụ
thể
là
đưa
ra
một
tập
hợp
chuẩn
hoá
các
ký
hiệu
(Notation)
và
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õ
ràng,
rành
mạch.
Đã
có
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
và
Ivar
Jacobson.
Chính
những
cố
gắng
này
dẫn
đến
kết
quả
là
xây
dựng
được
một
Ngôn
Ngữ
Mô
Hình
Hoá
Thống
Nhất
(Unifield
Modeling
Language
–
UML).
UML
là
một
ngôn
ngữ
mô
hình
hoá
thống
nhất
có
phần
chính
bao
gồm
những
ký
hiệu
hình
học,
được
các
phương
pháp
hướng
đối
tượng
sử
dụng
để
thể
hiện
và
miêu
tả
các
thiết
kế
của
một
hệ
thống.
Nó
là
một
ngôn
ngữ
để
đặc
tả,
trực
quan
hoá,
xây
dựng
và
làm
sưu
liệu
cho
nhiều
khía
cạnh
khác
nhau
của
một
hệ
thống
có
nồng
độ
phần
mềm
cao.
UML
có
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ế
và
nhà
phát
triển
phần
mềm.
Trong
quá
trình
phát
triển
có
nhiều
công
ty
đã
hỗ
trợ
và
khuyến
khích
phát
triển
UML
có
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ữ
mô
hình
hóa
thống
nhất
(Unifield
Modeling
Language
–
UML)
là
một
ngôn
ngữ
để
biểu
diễn
mô
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
mô
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,
có
nhiều
ràng
buộc
khác
nhau.
− Tạo
một
ngôn
ngữ
mô
hình
hoá
có
thể
sử
dụng
được
bởi
người
và
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
sơ
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
mô
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
mô
hình
hóa
song
song
với
chức
năng
mà
họ
đòi
hỏi
từ
phía
hệ
thống
(tức
là
Use
case).
Các
tác
nhân
và
các
Use
case
được
mô
hình
hóa
cùng
các
mối
quan
hệ
và
được
miêu
tả
trong
biểu
đồ
Use
case
của
UML.
Mỗi
một
Use
case
được
mô
tả
trong
tài
liệu,
nó
sẽ
đặc
tả
các
yêu
cầu
của
khách
hàng:
Anh
ta
hay
chị
ta
chờ
đợi
điều
gì
ở
phía
hệ
thống
mà
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
tí
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
và
các
đối
tượng)
cũng
như
cơ
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
mô
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
mô
hình
động
(dynamic
models)
của
UML.
Trong
giai
đoạn
phân
tích,
chỉ
duy
nhất
các
lớp
có
tồn
tại
trong
phạm
vi
vấn
đề
(các
khái
niệm
đời
thực)
là
được
mô
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,
ví
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
là
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
cơ
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
và
các
máy
móc
khác
trong
hệ
thống,
....
Các
lớp
thuộc
phạm
vi
vấn
đề
có
từ
giai
đoạn
phân
tích
sẽ
được
"nhúng"
vào
hạ
tầng
cơ
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
đề
và
hạ
tầng
cơ
sở.
Giai
đoạn
thiết
kế
sẽ
đưa
ra
kết
quả
là
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
có
thể
là
một
công
việc
khó
khăn
hay
dễ
dàng.
Khi
tạo
ra
các
mô
hình
phân
tích
và
thiết
kế
trong
UML,
tốt
nhất
nên
cố
gắng
né
tránh
việc
ngay
lập
tức
biến
đổi
các
mô
hình
này
thành
các
dòng
code.
Trong
những
giai
đoạn
trước,
mô
hình
được
sử
dụng
để
dễ
hiểu,
dễ
giao
tiếp
và
tạo
nên
cấu
trúc
của
hệ
thống;
vì
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
có
thể
sẽ
thành
một
trở
ngại
cho
việc
tạo
ra
các
mô
hình
chính
xác
và
đơn
giản.
Giai
đoạn
xây
dựng
là
một
giai
đoạn
riêng
biệt,
nơi
các
mô
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à
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)
và
đặc
tả
lớp,
thử
nghiệm
tích
hợp
thường
sử
dụng
biểu
đồ
thành
phần
(component
diagram)
và
biểu
đồ
cộng
tác
(collaboration
diagram),
và
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
có
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
gô
n
n
g
ữ
UML
Ngôn
ngữ
UML
bao
gồm
một
loạt
các
phần
tử
đồ
họa
(graphic
element)
có
thể
được
kết
hợp
với
nhau
để
tạo
ra
các
biểu
đồ.
Bởi
đây
là
một
ngôn
ngữ,
nên
UML
cũng
có
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
mô
hình
hóa.
Một
hướng
nhìn
không
phải
là
một
bản
vẽ,
mà
là
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
có
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ữ
mô
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
đồ
là
các
hình
vẽ
miêu
tả
nội
dung
trong
một
hướng
nhìn.
UML
có
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
ử
mô
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
là
các
phần
tử
mô
hình,
thể
hiện
các
khái
niệm
hướng
đối
tượng
quen
thuộc.
Ví
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ử
mô
hình
thường
được
sử
dụng
trong
nhiều
biểu
đồ
khác
nhau,
nhưng
nó
luôn
luôn
chỉ
có
một
ý
nghĩa
và
một
kí
hiệu.
− C
ơ
c
h
ế
c
hun
g:
Cơ
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ử
mô
hình;
chúng
còn
cung
cấp
thêm
các
cơ
chế
để
có
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).