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 (720.7 KB, 91 trang )
1.2.3 Các yêu cầu đối với một phép đo phần mềm
o Đơn giản để có thể tính toán một cách dễ dàng.
o Có tính thực tế và tính thuyết phục cao (ví dụ giá trị đo được tỷ lệ với chất
lượng sản phẩm).
o Thể hiện tính khách quan (khi tiến hành bởi nhiều người khác nhau, bằng thủ
công hay bằng máy tính phải cho những kết quả tương tự nhau).
o Có đơn vị đo được chuẩn hóa (ví dụ giá trị đo được nằm trong khoảng 0..1,
càng gần 1 tức là chất lượng càng cao).
o Độc lập với ngôn ngữ lập trình.
o Có tính tích cực đối với quá trình nâng cao chất lượng sản phẩm (cung cấp
những thông tin phản hồi có giá trị cho nhóm phát triển phần mềm).
1.2.4 Các bước của quá trình đo phần mềm
Như phần 1.1.1 đã nói, khi muốn đo một thuộc tính của một thực thể nào đó,
chúng ta cần phải có một số hiểu biết về thuộc tính của thực thể sắp tiến hành đo,
sau đó cần có phương tiện để thực hiện phép đo (độ đo, công cụ đo). Khi cần tiến
hành đo phần mềm, chúng ta có thể tiến hành theo những bước sau [7]:
1. Lựa chọn phép đo. Tùy mục đích và môi trường phần mềm mà chúng ta lựa
chọn phép đo phù hợp.
2. Tiến hành đo trong môi trường phần mềm đó.
3. Đánh giá kết quả đo và có những cải tiến phép đo.
1.2.5 Một ví dụ về phép đo phần mềm
Trong phần này chúng ta đưa ra một ví dụ về phép đo của Halstead [5]. Phép
đo này dựa trên số toán tử và toán hạng có trong chương trình để đưa ra ước tính
về chi phí thời gian để viết đoạn chương trình đó.
Một chương trình P là tập hợp các ký hiệu, gồm có toán tử và toán hạng. Các
phép đo ban đầu được định nghĩa:
µ1 = số toán tử phân biệt
N1 = tổng số toán tử
µ2 = số toán hạng phân biệt
N2 = tổng số toán hạng
Độ dài của chương trình P được định nghĩa là N=N 1+N2. Lượng từ vựng của P là
µ=µ1+µ2. Chi phí công sức (effort) để xây dựng chương trình P được ước tính
như sau:
18
E=
µ1 N 2 N log µ
2µ 2
Thời gian thực sự cần để viết đoạn chương trình P được ước tính dựa trên kết quả
nghiên cứu của John Stroud [8]: T = E / 18 (giây). T = E / 18 (giây).
Ví dụ: Xét đoạn chương trớnh viết bằng FORTRAN sau:
SUBROUTINE SORT (A, N)
INTEGER A(100), N, I, J, SAVE, M
ROUTINE SORTS ARRAY A INTO DESCENDING ORDER
IF (N.LT.2) GO TO 40
DO 30 I=2, N
M=I-1
DO 20 J=1, M
IF (A(I).GT.A(J)) GO TO 10
GO TO 20
10SAVE = A(I)
SAVE = A(I)
A(I) = A(J)
A(J) = SAVE
20CONTINUE
CONTINUE
30CONTINUE
CONTINUE
40RETURN
RETURN
END
µ1 = 14
µ2 = 13
N1 = 51N
N2 = 42
N = N1 + N2 = 93
µ = µ1 + µ2 = 27
E=
µ1 N 2 N log µ
= 10045
2µ 2
T = E / 18 = 10045 / 18 = 558 giây ≈ 10 phút.
1.2.6 Một số mô hình đo phần mềm
Chúng ta đã biết tại sao trong công nghệ phần mềm cần tiến hành các phép đo.
Bây giờ chúng ta xem xét một số kết quả nghiên cứu đã đạt được trong phép đo
phần mềm. Các kết quả này bao gồm các vấn đề sau:
Mô hình đo và ước tính chi phí và nhân lực.
19
Mô hình đo năng suất.
Mô hình đánh giá chất lượng phần mềm.
Mô hình đánh giá độ tin cậy.
Mô hình đánh giá hiệu năng.
Độ phức tạp tính toán.
Độ phức tạp cấu trúc chương trình.
Ước tính chi phí và nhân lực
Yêu cầu này xuất phát từ phía nhà quản lý. Người quản lý muốn dự đoán sớm
chi phí cho các dự án sắp tiến hành. Một số mô hình đã được đề xuất là
COCOMO (Boehm) [1], Function Point (Albrecht) [6].
Dựa vào kết quả nghiên cứu các dự án phần mềm, người ta đưa ra các công
thức có thể ước tính trước chi phí cho các dự án sắp tiến hành. Mô hình
COCOMO (Constructive Cost Model) đưa ra công thức cơ bản của nó như sau :
E = ai ( KLOC ) bi
D = ci E di
trong đo E là chi phí về nhân lực – tháng
D là thời gian cần để hoàn thành sản phẩm
KLOC là ước tính số nghìn mã lệnh
Các hệ số ai, bi, ci, di được cho trong bảng 1.3, các dự án phần mềm được chia
thành ba loại: loại dự án nhỏ và đơn giản, loại dự án trung bình về mặt kích cỡ và
độ phức tạp, loại dự án lớn và phức tạp có sự ràng buộc giữa phần cứng và phần
mềm.
Dự án
ai
bi
ci
Nhỏ
2.4
1.05
2.5
Trung bình
3.0
1.12
2.5
Lớn
3.6
1.20
2.5
Bảng 1.2: Các hệ số trong mô hình COCOMO
di
0.38
0.35
0.32
Function Point tính dựa trên trọng số của các thông tin về : số đầu vào, số đầu
ra, số yêu cầu của người sử dụng, số file, số giao diện với bên ngoài.Trọng số
(weighting factor) này biểu hiện các thực thể trên là thuộc loại đơn giản, trung
bình hay phức tạp, lấy giá trị trong khoảng từ 3 đến 15. Ngoài ra người ta còn
phải trả lời 14 câu hỏi khác để thu được một giá trị gọi là trị số ảnh hưởng
(influence). Function point được tính như sau:
function point = SUM(weighting factor) * [0.65 + 0.01 * SUM(influence)]
20
Function point cũng là một thông số tốt để chỉ kích thước phần mềm. Phương
pháp này không phụ thuộc vào quy trình phát triển phần mềm và ngôn ngữ được
sử dụng. Tuy nhiên điểm yếu của phép đo này là sự đánh giá chủ quan khi trả lời
các câu hỏi và nó không thể tính tự động được.
Mô hình đánh giá chất lượng
Một số mô hình đánh giá chất lượng được sử dụng rộng rãi trong công nghệ
phần mềm gồm có: mô hình FCM, mô hình ISO 9126, ... Mô hình đánh giá nhân
tố - tiêu chuẩn (Factor-Criteria-Metrics, FCM) được xem là một thành phần cơ
bản để đánh giá chất lượng phần mềm. Nguyên tắc cơ bản của mô hình này là
mỗi thuộc tính được chia thành một tập các nhân tố mà bản thân chúng có thể
được chia thành một tập các tiêu chuẩn và các tiêu chuẩn được tính toán qua các
độ đo (metrics). Các mô hình chất lượng phần mềm của ISO và IEEE được xây
dựng dựa trên mô hình FCM.
Nh©n tè 1
Tiªu chuÈn 1
Tiªu chuÈn 2
Nh©n tè 2
Thuéc tÝnh
.
.
.
.
.
.
Tiªu chuÈn k
§é ®o a
§é ®o b
.
.
.
§é ®o x
Nh©n tè n
Hình 1.3: Mô hình FCM
Các nhân tố, tiêu chuẩn và độ đo được sử dụng như sau : khách hàng và người
giám đốc chỉ quan tâm đến mức thuộc tính và mức nhân tố (factor, ví dụ như độ
tin cậy), người quản lý và điều hành dự án làm việc với mức tiêu chuẩn (criteria,
ví dụ như tính chính xác của kết quả thực thi chương trình), họ phải xem xét
những tiêu chuẩn nào ảnh hưởng đến nhân tố nào; ở mức sản xuất phần mềm,
nhân viên của dự án phải thu thập các độ đo (metric, ví dụ như số lỗi trong quá
trình kiểm tra).
Chất lượng phần mềm, theo ISO 9126, được hiểu là “tất cả các tính chất hay
thuộc tính của sản phẩm phần mềm làm cho nó có khả năng thích ứng với các
tình huống hay là thỏa mãn cỏc yờu cầu”. Ngoài ra, ISO 9126 cũng nêu ra chất
lượng phần mềm có 6 nhân tố sau:
21