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 13 potx - Pdf 19


Huỳnh Xuân Hiệp - CNPM

152
1
1
3
3g
g
i
i
a
a
i

đ
o
o


n
nc

N
T
T
A
A
T
T
I
I
O
O
N
NP
P
H
H
A
A
S
S
E
E
)
)Nội dung:

K
K
K
h
h
h
á
á
á
i
i
i
q
q
q
u
u
u
á
á
á
t
t
t

Có đánh giá rủi ro khi chọn ngôn ngữ lập trình

Huỳnh Xuân Hiệp - CNPM

154
1
1
1
3
3
3
.
.
.
2
2
2
K
K
K



n

r
r
ì
ì
ì
n
n
n
h
h
h
t
t
t



t
t
t
(good programming practice)

Hiểu rõ ngôn ngữ (language-specific)
Sử dụng tên biến thích hợp và có nghĩa (use of consistent and meaningful
variable names)
có nghĩa theo quan điểm của các nhà lập trình bảo trì
chú ý đến ngôn ngữ mẹ đẻ của các lập trình viên, thống nhất ngôn

Huỳnh Xuân Hiệp - CNPM

156
Các lệnh if lồng nhau (nested if statement)

90

60

1

30

2

latitude 90 120 150 180longitude

if (latitude>30 && longitude>120)
{
if (latitude<=60 && longitude<=150)
mapSquareNo = 1;

1
3
3
3
.
.
.
3
3
3
V
V
V
i
i
i
ế
ế
ế
t
t
t
m
m

u



n
n
n
(coding standards)

Thống nhất quy ớc về cách đặt tên mô-đun, tên biến,
Nên sử dụng các quy tắc sau:
độ lồng nhau của lệnh if tối đa là 3
mỗi mô-đun có khoảng 35 đến 50 mã lệnh thực thi
không sử dụng lệnh goto, có thể sử dụng để bắt lỗi
Chịu sự kiểm thử của nhóm SQA

Có khả năng sử dụng lại (reuse)
một số phần trong đặc tả, hợp đồng, kế hoạch, thiết kế, các mô-đun
một số thiết bị phần cứng liên quan
Huỳnh Xuân Hiệp - CNPM

158
1
1

h



n
n
n
t
t
t
r
r
r






n
n
n
g
g
g
t
h
h
h



m
m
m
ô
ô
ô
-
-
-
đ
đ
đ
u
u
u
n
n
n
(module test case selection)C
C
C
á
á
á
c
c
c
p
p
p
h
h
h



ơ
ơ
ơ
n
n
n

d
d
d



l
l
l
i
i
i



u
u
u
k
k
k

mô-đun phải đợc thực thi ít nhất một lần
các tên gọi khác: hộp kính (glass-box), hộp trắng (white-box), hành vi
(behavioral), logic dẫn (logic-driven), định hớng đờng đi (path-
oriented)

Huỳnh Xuân Hiệp - CNPM

160
1
1
1
3
3
3
.
.
.
6
6
6
K
K
K




m
m
m
t
t
t
h
h
h



d
d
d



n
n
n
g

lớp tơng đơng
phân tích giá trị biên trong khoảng (R
1
,R
2
) sẽ có 5 trờng hợp kiểm
thử: <R
1
, =R
1
, >R
1
và <R
2
, =R
2
, >R
2

Kiểm thử chức năng (functional testing)
dựa trên dữ liệu theo từng chức năng
<hm mức cao>
::== if
<biểu thức điều kiện>

<hm mức thấp 1>
;
else
<hm mức thấp 2>
;
K
K
K



t
t
t
h
h
h
u
u
u



t
t
t
k



n
n
n
g
g
g
h
h
h



p
p
p
k
k
k
í
í
í
n

 sè l−îng dßng lÖnh [Basili vµ Hutchens, 1983; Takahashi vµ
Kamayachi, 1985]
 sè l−îng c¸c quyÕt ®Þnh nhÞ ph©n + 1 [McCabe, 1976]
 ®é ®o Halstead
- n
1
: sè l−îng c¸c to¸n tö kh¸c nhau
- n
2
: sè l−îng c¸c to¸n h¹ng kh¸c nhau
- N
1
: tæng sè c¸c to¸n tö
- N
2
: tæng sè c¸c to¸n h¹ng. VD:
if (k < 2)
{
if (k > 3)
x = x*k;
}

c¸c to¸n tö kh¸c nhau: if ( < ) { > = * ; }
c¸c to¸n h¹ng kh¸c nhau: k 2 3 x
n
1
= 10, n
2
= 4, N
1


t
t
t
h
h
h
u
u
u



t
t
t
C
C
C
l
l
l
e
e

17 sản phẩm với 1 triệu dòng lệnh (2.3 lỗi/KLOC) [Linger, 1994]


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status