§¹i häc Quèc gia Hμ néi - §¹i häc c«ng nghÖ
Bé m«n C«ng nghÖ phÇn mÒm
BÀI GiẢNG CAO HỌC
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
VÀ KiỂM THỦ
NguyÔn V¨n Vþ
Email:
[email protected], mobile: 0912.505.291
Hà nội -2005
Nội dung – Tài liệu
NguyÔn V¨n Vþ
Độ do chất lượng
Độ tin cậy
An toàn
Roger S. Pressman. Software Engineering, a Practitioner’s Approach.
3th Edition, McGraw-Hill, 1992, Bản dich của Ngô Trung vIệt, Phần 4,
tập 4
Ian Sommerville. Software Engineering, Sixth Edition, Addion Wesley,
2001, Phần 4,5 và 6. chương 16,17,19, 21,24,25
E.M.Bennatan, Software Project Management : a practitioner’s
approach, McGRAW-HILL Book Company, 2001
2005
Bộ môn CNFM – Đại học Công nghệ
2
I. Đo chất lượng phần mềm
NguyÔn V¨n Vþ
■
Chất lượng phần mềm thường được phát biểu như
những đặc trưng định tính: mềm dẻo, dễ bảo trì,..
■
Không thể đo trực tiếp đặc trưng, mà chỉ có thể đo gián
tiếp: đo các thể hiện của chúng.
■
Chỉ đo được một số cái gì đó là thể ra của chất lượng –
độ đo của đặc trưng từng mặt chất lượng phần mềm.
■
Ngoài đo đạc cần các hoạt động SQA khác
2005
Bộ môn CNFM – Đại học Công nghệ
3
a. Chỉ số chất lượng cấu trúc: DSQI
NguyÔn V¨n Vþ
Chỉ số chất lượng về cấu trúc thiết kế - DSQI
(Design Structured Quanlity Index - IEEE Standard
982.1-1988)
Thành phần nào tạo thành cấu trúc Hệ thống?
Các đại lượng nào liên quan đến DSQI ?
2005
Bộ môn CNFM – Đại học Công nghệ
4
a1. Yếu tố tạo nên cấu trúc
NguyÔn V¨n Vþ
Hệ thống phần mềm có 2 thành phần chính:
Chương trình:
■
■
Các thành phần (môđun) và đặc trưng mỗi loại
Mối quan hệ giữa các thành phần
Dữ liệu:
■
■
■
2005
Các file
Cấu trúc file
Đặc trưng dữ liệu
1. Cần chọn những đại
lượng nào?
2. Tính như thế nào?
Bộ môn CNFM – Đại học Công nghệ
5
a3. Các đại lượng đặc trưng thành phần
NguyÔn V¨n Vþ
Các đại lượng đo được để tính DSQI :
S1 = tổng số các môđun trong kiến trúc chương trình
S2 = số môđun có chức năng phụ thuộc dữ liêu vào:
• dữ liệu vào từ nguồn
• dữ liệu vào do thủ tục ngoài môđun sinh ra.
2005
Bộ môn CNFM – Đại học Công nghệ
6
a3. Các đặc trưng cấu trúc thành phần(t)
NguyÔn V¨n Vþ
Mô tả hai đại lượng:
S1 = tổng số các môđun,
S2 = các môđun phụ thuộc nguồn dữ liệu vào
1
2
3
s2 =
2005
Bộ môn CNFM – Đại học Công nghệ
3
7
a3. Các đặc trưng cấu trúc thành phần(t)
NguyÔn V¨n Vþ
Các đại lượng dùng để tính DSQI (tiếp):
S3 = số các môđun chức năng phụ thuộc vào xử lý
trước đó.
S4 = số các môđun với lối vào và lối ra duy nhất (xử
lý ngoại lệ không được xem là lối ra bội).
2005
Bộ môn CNFM – Đại học Công nghệ
8
a3. Các đặc trưng cấu trúc thành phần(t)
NguyÔn V¨n Vþ
Mô tả các đại lượng:
S3 = số các môđun phụ thuộc vào xử lý trước đó.
S4 = số các môđun với lối vào và lối ra duy nhất.
xử lý
xử lý
xử lý
S3 = 4, s4= 3
2005
Bộ môn CNFM – Đại học Công nghệ
9
a4. Các đặc trưng cấu trúc dữ liệu
NguyÔn V¨n Vþ
Các giá trị được dùng để tính DSQI(tiếp):
S5 = tổng số các khoản mục dữ liệu (các đối tượng
dữ liệu, các file và tất cả các thuộc tính xác định
chúng).
S6 = số các khúc dữ liệu (các bản ghi khác nhau
hoặc các đối tượng đơn lẻ).
========
S7 = số các khoản mục dữ liệu đáng chú ý. ========
S6=3
==--&&--=
==--&&--=
==--&&--=
**--%%--$$==
2005
Bộ môn CNFM – Đại học Công nghệ
10
a5. Các chỉ số chất lượng cấu trúc
NguyÔn V¨n Vþ
Những giá trị trung gian cần tính:
D1 (cấu trúc chương trình) =1 khi thiết kế kiến trúc dùng
chỉ 1 phương pháp nhất định; và =0 khi khác.
D2 ( Độ độc lập dữ liệu của môđun) = 1- (S2/S1).
D3 (Độ độc lập xử lý của môđun)
D4 (đặc trưng vào/ra của môđun)
= 1- (S4/S1).
D5 (kích cỡ cơ sở dữ liệu)
= 1- (S6/S5).
D6 (Độ phân chia cơ sở dữ liệu)
2005
= 1- (S3/S1).
= 1- (S7/S5).
Bộ môn CNFM – Đại học Công nghệ
11
a6. Công thức tính DSQI
NguyÔn V¨n Vþ
Công thức tính chỉ số SQ của thiết kế:
DSQI =
6
i=1
Swi.Di ,
6
Swi =1
i=1
Cần ghi lại DSQI của các thiết kế thành công trước
đây, tính trung bình của chúng
Nếu DSQI lần này xa giá trị trung bình đó thì cần tiếp
tục công việc thiết kế và rà soát.
2005
Bộ môn CNFM – Đại học Công nghệ
12
b. Khoa học phần mềm của Halstead
NguyÔn V¨n Vþ
Lý thuyết của Halstead dùng các chỉ số cơ bản
sau để đo khối lượng chương trình- mã nguồn
n1 là số các toán tử (operator) khác nhau có mặt
trong chương trình
n2 là số các phép toán cơ bản (operand) khác nhau
có mặt trong chương trình
N1 là tổng số lần xuất hiện của các toán tử
N2 là tổng số lần xuất hiện của các phép toán cơ bản
2005
Bộ môn CNFM – Đại học Công nghệ
13
b1. Độ đo về mã nguồn
NguyÔn V¨n Vþ
Lý thuyết của Halstead đo các độ đo cơ bản:
Độ dài chương trình N = N1.log2 n1 + N2.log2 n2
Dung lượng chương trình = N log2 (n1+n2)
Độ tốt về dung lượng chương trình đạt được:
Dung lượng tối thiểu của chương trình
L = -------------------------------------------------------------- =
Dung lượng thực tế của chương trình
2
---n1
n2
x
---N2
luôn nhỏ hơn 1 và Xét đối với một ngôn ngữ cụ thể. Gần 1 là tốt
2005
Bộ môn CNFM – Đại học Công nghệ
14
b2. Sè ®o mức của ng«n ngữ
NguyÔn V¨n Vþ
Halsstead cho rằng mỗi ngôn ngữ có một mức ngôn ngữ
Nó xác định quy mô trung bình của 1 đơn vị chương
trình. Số này chỉ phụ thuộc vào chính ngôn ngữ lập trình.
Có người cho rằng nó phụ thuộc cả vào người lập trình
nữa. Thực nghiệm đo được như sau:
Ngôn ngữ
PL1
ALGOL 68
FORTRAN
Assembler
2005
Mức
1,53
2,12
1,14
0,88
Tính được khối
lượng chương
trình dựa trên
đánh giá số đợn
vị chương trình
Bộ môn CNFM – Đại học Công nghệ
15
c. Số đo độ phức tạp của McCabe
NguyÔn V¨n Vþ
McCabe xác định số đo độ phức tạp của
chương trình (mã nguồn) dựa trên độ phức tạp
chu trình trong đồ thị chương trình của một
môđun.
Số chu trình có chu trình lồng nhau (=3)
Số chu trinh nhiều nhất trong một chu trình (=5)
Người ta cũng dùng các miền phẳng
của đồ thị phẳng để biểu diễn đồ thị
chương trình
2005
Bộ môn CNFM – Đại học Công nghệ
16
d. Chỉ số chất lượng bảo trì: SMI
NguyÔn V¨n Vþ
Chỉ số trưởng thành phần mềm: SMI (Software Mutirity
Index) (IEEE Standard 982.1-1988): cho biết tính ổn định
của sản phẩm phần mềm được phát triển
Sự trưởng thành của phần mềm liên quan đến sự phát
triển quy mô và tính ổn định liên quan đến sự thay đổi
các thành phần cấu trúc của phần mềm theo thời gian
Đây là độ đo bảo trì
2005
Bộ môn CNFM – Đại học Công nghệ
17
d1. Các đại lượng tham gia SMI
NguyÔn V¨n Vþ
Các tham số sử dụng để tính SMI:
T = số các môđun phát hành lần này
Fc = số các môđun có thay đổi trong lần này
Fa = số các môđun được thêm vào trong lần này
Fd = số các môđun của lần phát hành trước bị bỏ đi
trong lần này
2005
Bộ môn CNFM – Đại học Công nghệ
18
d2. Công thức tính và ý nghĩa của SMI
NguyÔn V¨n Vþ
Chỉ số trưởng thành phần mềm (độ đo bảo trì)
được tính như sau:
MT – Fa - Fc - Fd
SMI = -----------------------------MT
Khi SMI gần bằng 1 thì sản phẩm bắt đầu ổn
định
2005
Bộ môn CNFM – Đại học Công nghệ
19
e. Đảm bảo chất lượng thống kê
NguyÔn V¨n Vþ
Bảo đảm chất lượng thống kê phản ánh một xu
thế ngày càng tăng trong công nghiệp.
Thế nào là đảm bảo chất lượng dựa trên thống
kê?
2005
Bộ môn CNFM – Đại học Công nghệ
20