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

Bài giảng công nghệ phần mềm - Phần 2 Các giai đoạn trong chu trình sống của phần mềm - Chương 14 ppt

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 (305.3 KB, 14 trang )


Huỳnh Xuân Hiệp - CNPM

164
1
1
4
4


G
G
I
I
A
A
I
I


đ
đ
O
O


N
N


C


C


I
I


đ
đ


T
T


V
V




T
T
í
í
C
C
H
H



H
H


P
P
(
(
I
I
M
M
P
P
L
L
E
E
M
M
E
E
N
N
T
T
A
A
T

T
I
I
O
O
N
N


A
A
N
N
D
D


I
I
N
N
T
T
E
E
G
G
R
R
A

A
T
T
I
I
O
O
N
N


P
P
H
H
A
A
S
S
E
E
)
)


Nội dung:
Khái quát chung
Cài đặt và tích hợp
Cài đặt và tích hợp dạng trên xuống
Cài đặt và tích hợp dạng dới lên

Cài đặt và tích hợp dạng hỗn hợp







Huỳnh Xuân Hiệp - CNPM

165
1
1
1
4
4
4
.
.
.
1
1
1



K
K
K
h

h
h
á
á
á
i
i
i



q
q
q
u
u
u
á
á
á
t
t
t



c
c
c
h

h
h
u
u
u
n
n
n
g
g
g
(overview)



Sẽ không tốt nếu nh việc cài đặt đợc thực hiện riêng rẽ và sau đó tích
hợp lại toàn bộ và đợc kiểm thử chung

Sẽ tốt hơn nếu nh việc cài đặt và tích hợp đợc thực hiện song song










Huỳnh Xuân Hiệp - CNPM


166
1
1
1
4
4
4
.
.
.
2
2
2



C
C
C
à
à
à
i
i
i



đ

đ
đ



t
t
t



v
v
v
à
à
à



t
t
t
í
í
í
c
c
c
h

h
h



h
h
h



p
p
p
(
(
(
i
i
i
m
m
m
p
p
p
l
l
l
e

e
e
m
m
m
e
e
e
n
n
n
t
t
t
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n




a
a
a
n
n
n
d
d
d



i
i
i
n
n
n
t
t
t
e
e
e
g
g
g
r

r
r
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n
)
)
)

Xét ví dụ sau:

a

b c d

e f g

h i j k


l m

Hình 14.1 Sơ đồ điển hình về sự liên kết giữa các mô-đun

Rất khó khăn khi kiểm thử mô-đun a riêng biệt trớc khi kiểm thử các
mô-đun b, c và d !

Huỳnh Xuân Hiệp - CNPM

167
1
1
1
4
4
4
.
.
.
3
3
3



C
C
C
à

à
à
i
i
i



đ
đ
đ



t
t
t



v
v
v
à
à
à



t

t
t
í
í
í
c
c
c
h
h
h



h
h
h



p
p
p



d
d
d




n
n
n
g
g
g



t
t
t
r
r
r
ê
ê
ê
n
n
n



x
x
x
u

u
u



n
n
n
g
g
g
(
(
(
t
t
t
o
o
o
p
p
p
-
-
-
d
d
d
o

o
o
w
w
w
n
n
n



i
i
i
m
m
m
p
p
p
l
l
l
e
e
e
m
m
m
e

e
e
n
n
n
t
t
t
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n



a
a
a
n

n
n
d
d
d



i
i
i
n
n
n
t
t
t
e
e
e
g
g
g
r
r
r
a
a
a
t

t
t
i
i
i
o
o
o
n
n
n
)
)
)

Nếu mô-đun mA gọi mô-đun mB thì mA đợc cài đặt và tích hợp trớc mB
VD:
(Hình 14.1) , các thứ tự có thể là:
a,b,c,d,e,f,g,h,i,j,k,l hay a,b,e,h,c,d,f,i,g,j,k,l
Khi mô-đun mNew đợc thêm vào, thì lỗi xảy ra chỉ có thể tại các vị trí:
mô-đun mNew
giao diện (1) giữa mNew và phần còn lại hiện có trong sản phẩm
Có thể chia thành 2 dạng
mô-đun logic (logic module): tổ hợp các dòng điều khiển quyết định
trong sản phẩm. VD:
(Hình 14.1) a,b,c,d và có thể là g,j
mô-đun hoạt động (operational module): hoạt động thật sự của sản
phẩm. VD:
(Hình 14.1) e,f,h,i,k,l,m
Các mô-đun hoạt động phải đợc cài đặt trớc các mô-đun logic

Khó khăn khi sử dụng lại các mô-đun
Lập trình bảo vệ(defensive programming): kiểm tra an toàn khi gọi mô-đun

Huỳnh Xuân Hiệp - CNPM

168
1
1
1
4
4
4
.
.
.
4
4
4



C
C
C
à
à
à
i
i
i




đ
đ
đ



t
t
t



v
v
v
à
à
à



t
t
t
í
í
í

c
c
c
h
h
h



h
h
h



p
p
p



d
d
d



n
n
n

g
g
g



d
d
d






i
i
i



l
l
l
ê
ê
ê
n
n
n

(
(
(
b
b
b
o
o
o
t
t
t
t
t
t
o
o
o
m
m
m
-
-
-
u
u
u
p
p
p




i
i
i
m
m
m
p
p
p
l
l
l
e
e
e
m
m
m
e
e
e
n
n
n
t
t
t

a
a
a
t
t
t
i
i
i
o
o
o
n
n
n



a
a
a
n
n
n
d
d
d




i
i
i
n
n
n
t
t
t
e
e
e
g
g
g
r
r
r
a
a
a
t
t
t
i
i
i
o
o
o

n
n
n
)
)
)

Nếu mô-đun mA gọi mô-đun mB thì mB đợc cài đặt và tích hợp trớc mA
VD:
(Hình 14.1)
o thứ tự duy nhất là: l,m,h,i,j,k,e,f,g,b,c,d,a
o nên phân chia các mô-đun nh sau:
ngời 1: h,e,b
ngời 2: i,f,c
ngời 3: l,m,j,k,g,d
tích hợp 3&2, sau khi tích hợp b,c,d thì cài đặt và tích hợp a
Nếu gặp lỗi ở các mô-đun logic thì sẽ khó khăn khi lần vết sửa đổi trở lại
trên các mô-đun đã thực hiện cài đặt và tích hợp





Huúnh Xu©n HiÖp - CNPM

169
1
1
1
4

4
4
.
.
.
5
5
5



C
C
C
µ
µ
µ
i
i
i



®
®
®
Æ
Æ
Æ
t

t
t



v
v
v
µ
µ
µ



t
t
t
Ý
Ý
Ý
c
c
c
h
h
h



h

h
h
î
î
î
p
p
p



d
d
d
¹
¹
¹
n
n
n
g
g
g



h
h
h
ç

ç
ç
n
n
n



h
h
h
î
î
î
p
p
p
(
(
(
s
s
s
a
a
a
n
n
n
d

d
d
w
w
w
i
i
i
c
c
c
h
h
h



i
i
i
m
m
m
p
p
p
l
l
l
e

e
e
m
m
m
e
e
e
n
n
n
t
t
t
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n




a
a
a
n
n
n
d
d
d



i
i
i
n
n
n
t
t
t
e
e
e
g
g
g
r

r
r
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n
)
)
)

 XÐt vÝ dô sau:


a

b c d

e f g


h i j k

m«-®un logic l m
m«-®un ho¹t ®éng
giao diÖn gi÷a m«-®un logic vµ m«-®un ho¹t ®éng
H×nh 14.2 Cµi ®Æt vµ tÝch hîp d¹ng hçn hîp
Cµi ®Æt:
o trªn xuèng: a,b,c,d,g,j
o d−íi lªn : e,f,h,i,k,l,m

Huỳnh Xuân Hiệp - CNPM

170
1
1
1
4
4
4
.
.
.
6
6
6



T
T

T



n
n
n
g
g
g



k
k
k
ế
ế
ế
t
t
t



c
c
c
á
á

á
c
c
c



p
p
p
h
h
h



ơ
ơ
ơ
n
n
n
g
g
g



p
p

p
h
h
h
á
á
á
p
p
p



t
t
t
i
i
i
ế
ế
ế
p
p
p



c
c

c



n
n
n
(
(
(
s
s
s
u
u
u
m
m
m
m
m
m
a
a
a
r
r
r
y
y

y



o
o
o
f
f
f



i
i
i
m
m
m
p
p
p
l
l
l
e
e
e
m
m

m
e
e
e
n
n
n
t
t
t
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n



a
a

a
n
n
n
d
d
d



i
i
i
n
n
n
t
t
t
e
e
e
g
g
g
r
r
r
a
a

a
t
t
t
i
i
i
o
o
o
n
n
n



a
a
a
p
p
p
p
p
p
r
r
r
o
o

o
a
a
a
c
c
c
h
h
h
e
e
e
s
s
s
)
)
)

Cách tiếp cận Điểm mạnh Điểm yếu
Cài đặt trớc, tích hợp sau - Không cô lập đợc lỗi
Chậm phát hiện lỗi thiết kế
chính
Cài đặt và tích hợp trên xuống Cô lập đợc lỗi
Sớm phát hiện lỗi thiết kế chính
Các mô-đun có khả năng sử
dụng lại không đợc kiểm thử
đầy đủ
Cài đặt và tích hợp dới lên Cô lập đợc lỗi

Các mô-đun có khả năng sử
dụng lại đợc kiểm thử đầy
đủ
Chậm phát hiện lỗi thiết kế
chính
Cài đặt và tích hợp hỗn hợp Cô lập đợc lỗi
Sớm phát hiện lỗi thiết kế chính
Các mô-đun có khả năng sử
dụng lại đợc kiểm thử đầy
đủ

Hình 14.3 Tổng kết các phơng pháp tiếp cận

Huỳnh Xuân Hiệp - CNPM

171
1
1
1
4
4
4
.
.
.
7
7
7




C
C
C
à
à
à
i
i
i



đ
đ
đ



t
t
t



v
v
v
à
à

à



t
t
t
í
í
í
c
c
c
h
h
h



h
h
h



p
p
p




c
c
c
á
á
á
c
c
c



s
s
s



n
n
n



p
p
p
h
h

h



m
m
m



h
h
h






n
n
n
g
g
g



đ
đ

đ



i
i
i



t
t
t






n
n
n
g
g
g
(
(
(
i
i

i
m
m
m
p
p
p
l
l
l
e
e
e
m
m
m
e
e
e
n
n
n
t
t
t
a
a
a
t
t

t
i
i
i
o
o
o
n
n
n



a
a
a
n
n
n
d
d
d



i
i
i
n
n

n
t
t
t
e
e
e
g
g
g
r
r
r
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n




o
o
o
f
f
f



o
o
o
b
b
b
j
j
j
e
e
e
c
c
c
t
t
t
-
-

-
o
o
o
r
r
r
i
i
i
e
e
e
n
n
n
t
t
t
e
e
e
d
d
d



p
p

p
r
r
r
o
o
o
d
d
d
u
u
u
c
c
c
t
t
t
s
s
s
)
)
)

Cài đặt và tích hợp dạng trên xuống: tơng tự nh tiếp cận cổ điển

Cài đặt và tích hợp dạng dới lên: các đối tợng gửi thông báo đến những
đối tợng đã đợc cài đặt và tích hợp sau khi bản thân đã đợc cài đặt và

tích hợp

Cài đặt và tích hợp hỗn hợp








Huỳnh Xuân Hiệp - CNPM

172
1
1
1
4
4
4
.
.
.
8
8
8



K

K
K
i
i
i



m
m
m



t
t
t
h
h
h




Kiểm thử tích hợp giao diện GUI, khó khăn khi kiểm thử ngời dùng sử
dụng chuột, kích hoạt thực đơn,
Dùng các ngôn ngữ scripts, công cụ kiểm thử đặc biệt

Kiểm thử sản phẩm, do nhóm SQA thực hiện theo trình tự sau:
hộp đen

từng mô-đun (hoặc từng đối tợng)
dạng thô trên toàn sản phẩm
đặc biệt (stress): khi login,
khối lợng (volume): với nhiều tập tin đầu vào
xem xét lại toàn bộ các tài liệu sẽ trao cho khách hàng (thỏa mãn
SPMP)
đối chiếu giữa tài liệu và sản phẩm
Có thể dùng kịch bản cho các phần mềm dạng hớng đối tợng



Huỳnh Xuân Hiệp - CNPM

173
Chấp nhận kiểm thử (acceptance testing)
thực hiện giữa khách hàng và nhóm SQA
phải thực hiện trên dữ liệu thực tế chứ không đơn thuần là dữ liệu
dùng để kiểm thử
nếu sản phẩm mới thay thế sản phẩm đã có sẵn, trong tài liệu đặc tả
phải có một điều khoản cho phép sản phẩm mới đợc cài đặt song
song với sản phẩm cũ cho đến khi khách hàng chấp thuận

Kết thúc giai đoạn kiểm thử thì công việc của các nhà phát triển xem nh
kết thúc và sản phẩm chuyển sang giai đoạn bảo trì










Huỳnh Xuân Hiệp - CNPM

174
1
1
1
4
4
4
.
.
.
9
9
9



T
T
T
í
í
í
c
c
c

h
h
h



h
h
h



p
p
p



m
m
m
ô
ô
ô
i
i
i




t
t
t
r
r
r






n
n
n
g
g
g
(
(
(
i
i
i
n
n
n
t
t
t

e
e
e
g
g
g
r
r
r
a
a
a
t
t
t
e
e
e
d
d
d



e
e
e
n
n
n

v
v
v
i
i
i
r
r
r
o
o
o
n
n
n
m
m
m
e
e
e
n
n
n
t
t
t
s
s
s

)
)
)

Nhằm mục tiêu tất cả các công cụ trong cùng một môi trờng có cùng giao
diện ngời dùng (user interface integration)
Nhìn thấy v cảm nhận đợc (look and feel)

Tích hợp các tiến trình (process integration)
môi trờng thờng hỗ trợ cho một tiến trình phát triển phần mềm đặc
biệt nào đó
còn gọi là môi trờng kỹ thuật nền (technique-based enviroment)
một số môi trờng thơng mại: Analyst/Designer theo phơng pháp
Yourdon [Yourdon, 1989], Statemate [Hrel và al., 1990], Rose
[Booch, 1994],




Huỳnh Xuân Hiệp - CNPM

175
Tích hợp công cụ (tool integration), tất cả các công cụ giao tiếp với nhau
thông qua các định dạng dữ liệu giống nhau. VD:
theo dạng mã ASCII
tích hợp công cụ dòng dữ liệu (data stream tool integration)
VD:
các dòng dữ liệu nhập/xuất đều dới dạng mã ASCII






tool 1 tool 2 tool n
Hình 14.4 (a) Tích hợp công cụ dòng dữ liệu

tích hợp front-end (front-end tool inegration), các công cụ đợc
nhúng. Môi trờng thơng mại: SoftBench [Riehle, 1991] dành cho
sản xuất phần cứng, CT dành cho sản xuất phần mềm






tool 1 tool 2

tool n Front-end

Hình 14.4 (b) Tích hợp công cụ front-end

Huỳnh Xuân Hiệp - CNPM

176
tích hợp back-end (back-end tool inegration), sử dụng cơ sở dữ liệu
chung. Môi trờng thơng mại: AD/Cycle [Mercurio, Meyers, Nisbet
và Radin, 1990]





Back-end



tool 1 tool 2

tool n

Hình 14.4 (c) Tích hợp công cụ back-end

Các khuôn dạng tích hợp khác (other forms of integration)
tích hợp nhóm (team integration), tạo hiệu quả và cách giao tiếp
trong nhóm phát triển
tích hợp quản lý (management integration), hỗ trợ cho quản lý






Huỳnh Xuân Hiệp - CNPM

177
1
1
1
4
4
4

.
.
.
1
1
1
0
0
0



Đ
Đ
Đ
á
á
á
n
n
n
h
h
h



g
g
g

i
i
i
á
á
á



g
g
g
i
i
i
a
a
a
i
i
i



đ
đ
đ
o
o
o




n
n
n



c
c
c
à
à
à
i
i
i



đ
đ
đ



t
t
t




v
v
v
à
à
à



t
t
t
í
í
í
c
c
c
h
h
h



h
h
h




p
p
p
(
(
(
m
m
m
e
e
e
t
t
t
r
r
r
i
i
i
c
c
c
s
s
s




f
f
f
o
o
o
r
r
r



t
t
t
h
h
h
e
e
e



i
i
i

m
m
m
p
p
p
l
l
l
e
e
e
m
m
m
e
e
e
n
n
n
t
t
t
a
a
a
t
t
t

i
i
i
o
o
o
n
n
n



a
a
a
n
n
n
d
d
d



i
i
i
n
n
n

t
t
t
e
e
e
g
g
g
r
r
r
a
a
a
t
t
t
i
i
i
o
o
o
n
n
n




p
p
p
h
h
h
a
a
a
s
s
s
e
e
e
)
)
)

Có nhiều phơng pháp đo độ phức tạp tại giai đoạn này
Công thức [Brettschneider, 1989] xác định thời gian kiểm thử
h
targettotal
target
target
target
t
ff
f
f

f
ì








+
+








+
5.0
ln
5.0
ln

Trong đó: (lỗi failure)
o f
target
: số lợng lỗi dự đoán

o f
total
: số lỗi thực sự xảy ra sau đó
o t
h
: thời gian kiểm thử xảy ra lỗi
o ln : lô-ga-rít theo cơ số e
VD:
Giả sử sản phầm có 50000 LOC, hợp đồng qui định mỗi KDSI có ít
hơn 0.02 lỗi. Sản phẩm đợc kiểm thử 400 giờ, trong thời gian này có 20
lỗi xảy ra và đã thực thi 50 giờ kể từ lỗi cuối cùng.
Ta có: f
target
= 0.02 ì 50000 = 1, f
total
= 20, t
h
= 400 50 =350 giờ
kết quả là 54 giờ (thiếu 4 giờ) phải kiểm thử thêm 4 giờ nữa,
nếu trong 4 giờ này có lỗi xảy ra thì phải tiếp tục áp dụng công thức.
Lặp lại thao tác ny cho đến khi không còn thời gian thiếu nữa

×