Bai 01 - Cac Khai Niem Co Ban

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

IT 4892 – Phương pháp và

10/01/2017
công cụ đánh giá phần mềm

evaluation
Methods and Tools for software
Bài 1: Các khái niệm cơ bản trong phương
pháp và công cụ đánh giá phần mềm
Giảng viên: Nguyễn Mạnh Tuấn
Bộ môn Công nghệ phần mềm
1
Viện CNTT&TT
1. Đo lường và các khái niệm cơ bản
• Đo là một quá trình mà kết quả là các ký hiệu được
gán cho các thuộc tính của thực thể theo một tập các

10/01/2017
luật được định nghĩa rõ ràng.
• Mỗi đối tượng có những đặc tính nhất định hay còn
gọi là các thuộc tính.

evaluation
Methods and Tools for software
• Như vậy phép đo bản thân nó là một ánh xạ từ tập thực thể
vào tập độ đo để mô tả thuộc tính.
• Quá trình xác định các thuộc tính của một đối tượng
trừu tượng không hề đơn giản.
• Các đối tượng trong công nghệ phần mềm là đối tượng trừu
tượng (yêu cầu về thông số kỹ thuật, quy tắc thiết kế, chương
trình máy tính, các quy trình phần mềm,...)
2
1. Đo lường và các khái niệm cơ bản
• Ví dụ về phép đo kích thước chương trình:
• ánh xạ từ mã nguồn vào số câu lệnh của chương trình

10/01/2017
• ánh xạ từ mã nguồn vào số bytes của chương trình

evaluation
Methods and Tools for software
3
1. Đo lường và các khái niệm cơ bản
• Để thực hiện phép đo chúng ta 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.

10/01/2017
• Khi đã xác định được thực thể và có phương tiện (độ

evaluation
Methods and Tools for software
đo, công cụ đo) thì mới có thể tiến hành đo.

• Phân tích kết quả đo giúp chúng ta có hiểu biết về


thuộc tính của thực thể, có thể có những cải tiến về độ
chính xác, đơn vị của phép đo.

4
1. Đo lường và các khái niệm cơ bản
• Kĩ thuật đo lường
• Có hai kĩ thuật đo lường mà chúng ta có thể sử dụng trong

10/01/2017
công nghệ phần mềm: kĩ thuật cơ bản và kĩ thuật suy diễn.
• Kĩ thuật cơ bản đo thuộc tính nhận biết đơn của thực

evaluation
thể.

Methods and Tools for software


• Giá trị đo là cái có được lấy từ việc đo lường nguyên thuỷ đến
suốt quá trình tính toán bằng số, hoặc quan sát gián tiếp có
thể.
• Kĩ thuật suy diễn là chúng ta không thể đo trực tiếp
thuộc tính nhưng chúng ta lại muốn biết giá trị của
chúng.
5
1. Đo lường và các khái niệm cơ bản
• Thang đo
• Thang đo của giá trị đo xác định sự phân bổ thực tế của số và

10/01/2017
kí hiệu bằng quy tắc.
• Thuật ngữ "thang đo" là phải lấy dụng cụ đo lường để đo giá
trị chuẩn của giá trị cần đo.

evaluation
Methods and Tools for software
• Nó xác định những thao tác gì giữa các số (hoặc kí hiệu )
được gán trong giá trị đo
• Có hai lớp của thang đo:
• Thang đo định tính cho phép chúng ta xác định tối đa mức độ
mối quan hệ giữa hai giải pháp trở lên của thực thể.
• Thang đo định lượng cho phép chúng ta trả lời câu hỏi có bao
nhiêu.
6
1. Đo lường và các khái niệm cơ bản
• Giá trị đo
• Khá dễ dàng để có được dữ liệu đo lường.

10/01/2017
• Tuy nhiên,tương đối khó khăn để có được số liệu đo chính
xác.

evaluation
Methods and Tools for software
• Đối với mỗi hoạt động đo lường, các lỗi đo lường phải được
xác định và kiểm soát cẩn thận.
• Từ quan điểm kỹ thuật đo cơ bản, sẽ không dễ để có được số
đo gần như hoàn hảo trong hầu hết trường hợp.

7
1. Đo lường và các khái niệm cơ bản
• Độ chính xác
• Khi thảo luận về độ chính xác của một đo lường cụ thể, có

10/01/2017
nghĩa là ta sẽ tìm câu trả lời gần với câu trả lời đúng (và có thể
không thể biết chính xác giá trị).
• Giá trị đo lỗi

evaluation
Methods and Tools for software
• Có hai loại sai sót trong đo lường mà chúng ta phải hiểu: lỗi về
phương pháp luận và lỗi lan truyền.
• Lỗi phương pháp luận là một kết quả trực tiếp của các thành
phần thu thập được.
• Lỗi lan truyền là hiệu ứng tích lũy các lỗi trong khi đo ,độ chính
xác bị giảm khi kết quả của các tính toán lặp đi lặp lại.
8
1. Đo lường và các khái niệm cơ bản
• Tiêu chuẩn đo lường
• Muốn đo 1 cái gì đó, ta phải có một số công cụ nào đó để thực

10/01/2017
hiện việc đo lường.
• Nếu muốn đo chiều dài của một đối tượng chúng ta phải tìm 1
cái thước đo.

evaluation
Methods and Tools for software
• Mục đích của tiêu chuẩn đo lường là tất cả những người có
bản sao của tiêu chuẩn này có thể đo chiều dài của các thuộc
tính

9
1. Đo lường và các khái niệm cơ bản
• Phép đo trực tiếp và phép đo gián tiếp
• Phép đo trực tiếp một thuộc tính là phép đo không phụ thuộc

10/01/2017
vào phép đo một thuộc tính nào khác.
• Phép đo gián tiếp một thuộc tính là phép đo liên quan đến
phép đo một số thuộc tính khác.

evaluation
Methods and Tools for software
• Việc phân loại phép đo trực tiếp và gián tiếp đề cập
đến việc ánh xạ các qua lại giữa các độ đo hơn là bản
thân thuộc tính.
• Trong trường hợp các thuộc tính của phần mềm, mà bản thân
các thuộc tính như độ tin cậy, khả năng tái sử dụng, tính tiện
dụng giao diện người sử dụng cũng chưa được hiểu một cách
xác đáng, thì cách tiếp cận theo phương pháp đo gián tiếp là
10
thích hợp
2. Phương pháp biểu diễn phép đo
• Phép đo được mô hình hóa dựa trên các khái niệm:
tập hợp, quan hệ và ánh xạ.

10/01/2017
• Hệ thống quan hệ: Xác định tính chất của các thuộc tính
(tiên đề) qua các kết quả quan sát trực giác hay là các hiểu

evaluation
Methods and Tools for software
biết ban đầu về thuộc tính. Các tính chất này thường được
thể hiện qua các quan hệ giữa các thực thể.
• Biểu diễn thay thế: Các thuộc tính có thể được biểu diễn
bằng một hệ thống trị số thích hợp bảo toàn các tính chất
và quan hệ, việc biểu diễn này thực hiện như là một ánh xạ
từ tập thực thể vào tập trị số.
• Quan hệ chuyển đổi: Hai hàm bất kỳ từ thực thể sang trị
số để biểu diễn thuộc tính đều có một mối quan hệ nào đó. 11
2. Phương pháp biểu diễn phép đo
• Ví dụ: Xét thuộc tính độ nghiêm trọng của sai hỏng
phần mềm.

10/01/2017
• Gọi C là tập các sai hỏng phần mềm, ta xem xét 3 hệ thống
quan hệ như sau:

evaluation
Methods and Tools for software
• Hệ thống quan hệ đơn giản: trong đó chỉ có sự phân loại các
sai hỏng phần mềm chẳng hạn như: cú pháp, logic, đổ vỡ hệ
thống. Giả thiết rằng các sai hỏng phần mềm chỉ thuộc một
trong ba loại trên.
• Điều đó có nghĩa là chúng ta có một hệ thống quan hệ (C,R)
trong đó R gồm 3 quan hệ đơn: quan hệ R1 “là cú pháp”, R2 “là
logic”, R3 “là đổ vỡ hệ thống”.
• Giả thiết rằng với mọi xC thì x là R1, R2, hoặc R3.
13
2. Phương pháp biểu diễn phép đo
• Ví dụ: Xét thuộc tính độ nghiêm trọng của sai hỏng
phần mềm.

10/01/2017
• Chúng ta thêm vào quan hệ cũ một quan hệ mới R4 “nghiêm
trọng hơn”.

evaluation
Methods and Tools for software
• Thông thường quan niệm: các đổ vỡ hệ thống thì nghiêm trọng
hơn sai hỏng cú pháp và logic, các sai hỏng logic thì nghiêm
trọng hơn sai hỏng về cú pháp.
• R4 gồm các cặp sai hỏng (x, y) trong đó hoặc:
• i) xR3 và yR2 hay R1,
• ii) xR2 và yR1.
• Hệ thống quan hệ mới cho tính nghiêm trọng các sai hỏng
phần mềm là (C, R’) trong đó R’ = {R1, R2, R3, R4}.
14
2. Phương pháp biểu diễn phép đo
• Ví dụ: Xét thuộc tính độ nghiêm trọng của sai hỏng
phần mềm.

10/01/2017
• Thêm vào hệ thống quan hệ R’ một quan hệ mới: sự chênh
lệch về độ nghiêm trọng giữa sai hỏng cú pháp và sai hỏng
logic cũng bằng với sự chênh lệch về độ nghiêm trọng giữa sai

evaluation
Methods and Tools for software
hỏng logic và sai hỏng đổ vỡ hệ thống.
• Chúng ta có quan hệ R5 với (x,y,x’,y’)  R5 nghĩa là chênh lệch
về độ nghiêm trọng giữa x và y bằng chênh lệch về độ nghiêm
trọng giữa x’ và y’ trong đó x là sai hỏng đổ vỡ hệ thống, y và
x’ là sai hỏng cú pháp còn y’ là sai hỏng logic.
• Chúng ta có hệ thống quan hệ mới (C, R’’) trong đó R’’ = {R1,
R2, R3, R4, R5}.
15
2. Phương pháp biểu diễn phép đo
• Hệ thống quan hệ dựa trên trị số (biểu diễn thay thế)
• Sau khi tìm được hệ thống quan hệ cho thuộc tính, chúng ta

10/01/2017
cần tìm một ‘hệ thống số, chẳng hạn như tập các số thực Â,
để thực hiện ánh xạ các thực thể.
• Nói đúng hơn chúng ta cần hệ thống quan hệ dựa trên trị số

evaluation
Methods and Tools for software
gồm có một tập hợp trị số và các quan hệ trên tập đó.
• Mỗi quan hệ trong hệ thống cũ đều đòi hỏi một quan hệ tương
ứng trong hệ thống quan hệ dựa trên số. Đó gọi là điều kiện
biểu diễn thay thế cho hệ thống quan hệ.
• Ký hiệu N là tập trị số và P là tập quan hệ giữa các trị số ta có
hệ thống mới (N, P).

16
2. Phương pháp biểu diễn phép đo
• Hệ thống quan hệ dựa trên trị số (biểu diễn thay thế)
• Việc bảo toàn tất cả các quan hệ trong hệ thống số cho phép

10/01/2017
chúng ta định nghĩa ánh xạ từ tập thực thể vào tập trị số N là
một phép đo.
• Ta nói M là phép đo một thuộc tính nếu đó là một ánh xạ từ hệ

evaluation
Methods and Tools for software
thống quan hệ (C, R) sang hệ thống quan hệ dựa trên số (N,
P).
• M thực hiện ánh xạ một thực thể thuộc C sang một trị số thuộc
N, và một quan hệ thuộc R sang một quan hệ thuộc P.

17
2. Phương pháp biểu diễn phép đo
• Ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên.
• Để tìm một biểu diễn thay thế cho R trong dạng số thực, ta lấy

10/01/2017
ba số phân biệt bất kỳ, chẳng hạn 6, 2, 69.
• Chúng ta ánh xạ tất cả

evaluation
Methods and Tools for software
• các sai hỏng cú pháp (các thành phần của R1) vào số 6,
• các sai hỏng logic (thuộc R2) vào số 2,
• các sai hỏng đổ vỡ hệ thống (thuộc R3) vào số 69.
• Để thỏa mãn điều kiện biểu diễn thay thế, chúng ta chuyển các
quan hệ R1, R2, R3 thành các quan hệ P1, P2, P3 đối với các số
trong đó P1 là quan hệ “là 6”, P2 là quan hệ “là 2” và P3 là quan
hệ “là 69”.

18
2. Phương pháp biểu diễn phép đo
• Ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên.
• Để tìm một biểu diễn thay thế cho R’ chúng ta cần xem xét cẩn

10/01/2017
thận hơn khi gán các trị số.
• Trước hết chúng ta cần tìm quan hệ P4 tương ứng với R4.
Quan hệ P4 đương nhiên là >.

evaluation
Methods and Tools for software
• Để hệ thống mới thỏa mãn quan hệ P4 chúng ta cần ánh xạ sai
hỏng đổ vỡ hệ thống vào số lớn hơn sai hỏng logic và sai
hỏng logic vào số lớn hơn sai hỏng cú pháp.
• Như vậy có thể biểu diễn như sau: sai hỏng cú pháp →1, sai
hỏng logic →6, sai hỏng đổ vỡ hệ thống →7.

19
2. Phương pháp biểu diễn phép đo
• Ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên.
• Để tìm biểu diễn thay thế cho R’’, chúng ta cần bảo toàn cả

10/01/2017
quan hệ R5, nghĩa là:
• Sai khác giữa các trị số mà sai hỏng đổ vỡ hệ thống và sai
hỏng logic ánh xạ vào bằng sai khác giữa các trị số mà sai

evaluation
Methods and Tools for software
hỏng logic và sai hỏng cú pháp ánh xạ vào.
• Một ánh xạ thỏa mãn là:
cú pháp → 6, logic → 8, đổ vỡ hệ thống → 10

20
3. Đo lường phần mềm
• Phép đo phần mềm là phương tiện mà nhờ đó các kỹ
sư phần mềm tính toán và dự đoán được các khía

10/01/2017
cạnh khác nhau về các quá trình, tài nguyên, sản
phẩm liên quan tới hoạt động kỹ thuật phần mềm

evaluation
Methods and Tools for software
• Tại sao phải đo lường phần mềm
• Để xác định chất lượng của sản phẩm phần mềm.
• Dự đoán và nâng cao chất lượng của 1 sản phẩm.
• Ước tính chi phí và lịch trình của dự án tương lai.
• Dự đoán và giảm thiểu nhu cầu bảo trì trong tương lai.

21
3. Đo lường phần mềm
• Những thiếu sót thường mắc phải khi phát triển phần
mềm mà không sử dụng phép đo

10/01/2017
• Không đặt một mục tiêu rõ ràng có thể đo được
• Không thể hiện chất lượng phần mềm dưới dạng lượng

evaluation
Methods and Tools for software
• Bị thuyết phục bởi việc sử dụng những phương pháp hay công
cụ mới được phát triển sẽ nâng cao chất lượng sản phẩm
• Các phép đo được tiến hành không thường xuyên, không phù
hợp và không hoàn chỉnh
→ Vậy vấn đề của phép đo phần mềm là thiếu một cách tiếp cận
thống nhất được áp dụng rộng rãi, dẫn đến các kết quả đo được
thực hiện và công bố không nhiều.
23
3. Đo lường phần mềm
• Phân loại các phép đo phần mềm
• Sản phẩm: Kết quả trả lại của 1 hoạt động phát triển phần

10/01/2017
mềm.
• Quy trình: Các hoạt động liên quan đến sản xuất phần mềm.
• Tài nguyên:

evaluation
Methods and Tools for software
• Đầu vào vào các hoạt động phát triển phần mềm
• Phần cứng, kiến thức, con người.
• …

24
3. Đo lường phần mềm
• Mục đích và đối tượng của phép đo phần mềm
• kiểm soát

10/01/2017
• đánh giá
• dự đoán

evaluation
Methods and Tools for software
• cải tiến
• Đối tượng đo không chỉ có sản phẩm phần mềm mà
gồm tất cả những thực thể liên quan đến hoạt động
sản xuất phần mềm như quy trình, nguồn lực.

25
3. Đo lường phần mềm
• Phân công nhiệm vụ đo trong một tổ chức phần mềm
Nhóm người Nhiệm vụ đo Mục đích

10/01/2017
Nhà quản lý Chi phí cho các pha của dự án Kiểm soát chi phí nhằm thu được lợi
nhuận
Năng suất (năng lực sản suất) của nhân Trả tiền công cho nhân viên
viên

evaluation
Methods and Tools for software
Chất lượng phần mềm được sản xuất So sánh các dự án, dự đoán, thiết lập
ranh giới và mục tiêu cải tiến.
Đề xuất các phép đo sử dụng cho dự án. Nhân viên của dự án tiến hành đo và báo
cáo
Hiệu quả quy trình, nguồn lực Nhân tố nào ảnh hưởng đến hiệu quả
sản suất.
Hiệu quả của các phương pháp, công cụ Giới thiệu phương pháp công cụ với cả
công ty.
Kỹ sư phần Quá trình: thay đổi ở pha thiết kế, lỗi ở Kiểm soát tiến triển của hệ thống.
mềm pha kiểm tra...
Cụ thể hóa các yêu cầu đo từ nhà quản lý Thông báo cho người quản lý để có 26
và tiến hành đo: lỗi / yêu cầu, kích thước, những quyết định kịp thời.
chi phí, ...
mềm
Pr
ox Pay

0%
20%
40%
60%
80%
100%
120%
iga &G
te
2.2 o
.4
Re
po Ga
rt W va
r
Sm L iter
art S 2
To 00
uc 1
W h 2.
eb 0
NS Spid
W er
ap
2
3. Đo lường phần mềm

CD .5
B
1.2
PI
M
HN
W
• Mức độ hoàn thành đúng thời gian (Timeliness)

S
• Ví dụ những ý tưởng ban đầu về các phép đo phần

Methods and Tools for software


10/01/2017
27

evaluation
3. Đo lường phần mềm
• Ví dụ những ý tưởng ban đầu về các phép đo phần
mềm

10/01/2017
• Tỷ lệ chi phí cho việc đảm bảo chất lượng (Quality cost)

evaluation
Methods and Tools for software
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

Average
Gava
Report
LS 2001

Web Spider

CDB 1.2
Proxigate

SmartTouch
Pay&Go

NS Wap

PIM
HNWS
28

PCost ACost Ccost


3. Đo lường phần mềm
• Các yêu cầu đối với một phép đo phần mềm
• Đơn giản để có thể tính toán một cách dễ dàng.

10/01/2017
• 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).
• Thể hiện tính khách quan (khi tiến hành bởi nhiều người khác

evaluation
Methods and Tools for software
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).
• 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).
• Độc lập với ngôn ngữ lập trình.
• 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). 29
3. Đo lường phần mềm
• Các bước của quá trình đo phần mềm
• Lựa chọn phép đo. Tùy mục đích và môi trường phần mềm mà

10/01/2017
chúng ta lựa chọn phép đo phù hợp.
• Tiến hành đo trong môi trường phần mềm đó.
• Đánh giá kết quả đo và có những cải tiến phép đo.

evaluation
Methods and Tools for software
30
3. Đo lường phần mềm
• Một ví dụ về phép đo phần mềm
• Ví dụ về phép đo của Halstead: dựa trên số toán tử và toán

10/01/2017
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à

evaluation
Methods and Tools for software
toán hạng. Các phép đo ban đầu được định nghĩa:
• m1 = số toán tử phân biệt m2 = số toán hạng phân biệt
• N1 = tổng số toán tử N2 = tổng số toán hạng
• Độ dài của chương trình P được định nghĩa là N=N1+N2.
• Lượng từ vựng của P là m=m1+m2.
• Chi phí công sức (effort) để xây dựng chương trình P được ước
tính như sau:
m1 N 2 N log m
E=
2m 2
31
• 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:
T = E / 18 (giây).
3. Đo lường phần mềm
• Một ví dụ về phép đo phần mềm
• Xét đoạn chương trình viết bằng FORTRAN:

10/01/2017
SUBROUTINE SORT (A, N)
INTEGER A(100), N, I, J, SAVE, M
ROUTINE SORTS ARRAY A INTO DESCENDING
ORDER

evaluation
Methods and Tools for software
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 32
CONTINUE
40RETURN
RETURN
END
4. Quy trình đánh giá phần mềm
• Quy trình đánh giá sản phẩm phần mềm được thực
hiện theo 4 bước

10/01/2017
Xác lập mục đích đánh giá
Thiết lập yêu Xác định loại sản phẩm
Bước 1

evaluation
Methods and Tools for software
cầu đánh giá
Xây dựng mô hình chất lượng
Chất lượng trong

Xác định phép đánh giá? Chất lượng ngoài

Xác lập cơ Thiết lập mức đo chuẩn


Chất lượng khi sử
Bước 2 dụng
chế đánh giá
Thiết lập các tiêu chí đánh giá sử dụng

Thiết kế Kế hoạch đánh giá sản phẩm


Bước 3
Thực hiện đo
33
Thực hiện
Bước 4 So sánh với tiêu chí đánh giá
đánh giá
Đánh giá kết quả thu được
Bài tập
1.Lấy ví dụ về một phép đo để xác định vận
động viện hay cầu thủ giỏi nhất trong một

10/01/2017
môn thể thao mà em ưa thích?
2.Em hãy mô tả các thuộc tính đặc trưng của

evaluation
Methods and Tools for software
của phần mềm? Theo em đánh giá thế nào
là phần mềm tốt?
3.Với các thuộc tính đặc trưng mà em đã mô
tả ở câu hỏi trước, em hãy áp dụng để đánh
giá cho một phần mềm trình duyệt mà em 58
sử dụng?
Bài tập

• Trả lời các câu hỏi thầy gửi trên

10/01/2017
Teams nhé.

evaluation
Methods and Tools for software
63

You might also like