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

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 2: Quan hệ thực nghiệm và thang đo

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
QUAN HỆ THỰC NGHIỆM

Methods and Tools for software


10/01/2017
2

evaluation
Đo lường (Metrology)
• Metrology: là khoa học về đo lường
• Đo lường là cơ sở cho khoa học và kỹ thuật

10/01/2017
thực nghiệm để đưa kiến thức theo luật
chung, tức là, chắt lọc các quan sát vào các lý

evaluation
Methods and Tools for software
thuyết hình thức và diễn đạt chúng bằng toán
học.
• Phép đo được sử dụng để thể hiện quan sát
hình thức (logic hoặc toán học, có trật tự và
đáng tin cậy).
3
Hai loại vấn đề
• Các thành phần của hệ thống đo lường:
• m = <attribute, scale, unit>

10/01/2017
• Thuộc tính là những gì đang được đo (ví dụ: kích
thước của chương trình)

evaluation
Methods and Tools for software
• Thang đo là tiêu chuẩn và phạm vi đo lường (ví dụ:
danh nghĩa, thứ tự, tỷ lệ, v.v.)
• Đơn vị là ý nghĩa vật lý của thang đo (ví dụ: số
nguyên dương, ký hiệu, v.v.)
• Xác định giá trị của một thuộc tính của một
thực thể. 4
• Xác định lớp thực thể mà phép đo liên quan.
Quan hệ thực nghiệm
• Empirical Relations: quan hệ thực nghiệm
được bảo toàn theo phép đo M là quan hệ số

10/01/2017
evaluation
Methods and Tools for software
5
Real, Empirical & Formal Worlds

Methods and Tools for software


10/01/2017
6

evaluation
Real, Empirical & Formal Worlds

Methods and Tools for software


10/01/2017
7

evaluation
Key stages of formal measurement

Methods and Tools for software


10/01/2017
8

evaluation
Measurement: Activities
• Định nghĩa vấn đề
• Xác định vấn đề đo lường

10/01/2017
• Chỉ định tập hợp các thực thể hình thành mục tiêu
đo lường

evaluation
Methods and Tools for software
• Xác định các thuộc tính chính cho các thực thể
• Xác định thang đo
• Xác định các thang đo mà các thuộc tính có thể
được đo
• Hình thành hệ thống quan hệ thực nghiệm
• Ánh xạ các thực thể và các thuộc tính được chọn 9
của chúng thành các số hoặc giá trị trên tỷ lệ
Measurement: Activities
• Modeling
• Phát triển biểu diễn toán học (logic) của các thực

10/01/2017
thể và thuộc tính của chúng
• Xác định hệ thống quan hệ hình thức

evaluation
Methods and Tools for software
• Ánh xạ hệ thống quan hệ thực nghiệm vào mô hình
hình thức (formal model)
• Xác minh kết quả đo
• Xác minh xem kết quả đo có phản ánh các thuộc
tính của thực thể, thuộc tính và mối quan hệ không
10
Empirical Relational System
• E = {A, R, O}
• A = {a, b, c, …, z} tập hợp các thực thể trong thế

10/01/2017
giới thực
• k: thuộc tính cho mỗi phần tử của A

evaluation
Methods and Tools for software
• A = {a, b, c, …, z} là mô hình của A mô tả từng phần
tử của A theo thuộc tính k
• Quan sát thực nghiệm được xác định trên mô hình
tập A
• Tập hợp các mối quan hệ n-ary : R,ví dụ: X cao hơn Y 11
• Tập hợp các phép toán nhị phân : O , ví dụ: X thì cao
Formal Relational System
• F = {A’, R’, O’}
• F phải thỏa mãn các điều kiện sau :

10/01/2017
• Có khả năng thể hiện tất cả các mối quan hệ và hoạt
động trong E.

evaluation
Methods and Tools for software
• Hỗ trợ các kết luận có ý nghĩa từ dữ liệu.
• Ánh xạ từ E đến F phải thể hiện tất cả các quan sát,
bảo toàn tất cả các mối quan hệ và hoạt động của E.

12
Ví dụ:
• Xếp hạng 4 sản phẩm phần mềm dựa trên sở
thích của người dùng

10/01/2017
• Định nghĩa vấn đề: xếp hạng
các sản phẩm (thực thể) A, B,

evaluation
Methods and Tools for software
C và D dựa trên sở thích của
người dùng
• Tỷ lệ: Tỷ lệ tuyến tính 0-100%
duy nhất
• Hệ thống quan hệ thực
nghiệm: được biểu thị bằng
bảng. 13
Ví dụ:
• Mô hình hóa:
• Các cặp hợp lệ là những cặp có giá trị lớn hơn 60.

10/01/2017
• Nếu đối với một cặp (A, B), hơn 60% người dùng thích A
hơn B thì A chắc chắn là tốt hơn so với B.

evaluation
Methods and Tools for software
• Nếu M (x, y)> 60% thì p (x)> p (y)
• Hệ thống quan hệ chính thức:
• Nếu p (x)> p (y) và p (y)> p (z)
• Khi đó p (x)> p (z)
• Xác minh:
• Các cặp hợp lệ (C, A), (C, B), (C, D), (A, B) và (A, D)
• Không có xung đột giữa dữ liệu được thu thập và mô 14
hình
Ví dụ:
• Xác minh thất bại nếu dữ
liệu được thu thập như hiển

10/01/2017
thị ở đây vì
• M (B, C)> 60% rồi p (B)> p (C)

evaluation
Methods and Tools for software
• M (C, A)> 60% rồi p (C)> p (A)
• M (A, B)> 60% rồi p (A)> p (B)
• Có mâu thuẫn giữa mô hình
thực và mô hình chính thức
và mô hình phải được sửa
đổi.

15
Điều kiện biểu diễn của đo lường
• Có thể có nhiều phép đo cho một thuộc tính
nhất định

10/01/2017
• Sử dụng khái niệm đại diện để xác định tính hợp lệ:
bất kỳ phép đo nào thỏa mãn điều kiện đại diện là

evaluation
Methods and Tools for software
một phép đo hợp lệ.
• Hệ thống quan hệ thực nghiệm (empirical
relation system) càng phong phú, các phép đo
hợp lệ càng ít
• Có một số lượng lớn các mối quan hệ có thể được
xác định 16
Measurement: Properties
• Đầy đủ
• Các thành phần của hệ thống đo lường:

10/01/2017
• m = <thuộc tính, tỷ lệ, đơn vị>
• Thuộc tính là những gì đang được đo (ví dụ: kích

evaluation
Methods and Tools for software
thước của chương trình)
• Thang đo là tiêu chuẩn và phạm vi đo lường (ví dụ: tỷ
lệ)
• Đơn vị là ý nghĩa vật lý của thang đo (ví dụ: số nguyên
dương)
• Độc đáo (duy nhất)
• Kết quả đo phải là duy nhất và phù hợp với thang đo 17
và đơn vị
Measurement: Properties
• Khả năng mở rộng
• Hai hoặc nhiều biện pháp chính thức ánh xạ tới cùng

10/01/2017
một thực thể đều tương thích bằng cách sử dụng
mối quan hệ tương thích rõ ràng (ví dụ: cm và inch

evaluation
Methods and Tools for software
được sử dụng để đo chiều dài và 1 in = 2,54 cm)
• Sự khác biệt rời rạc
• Đơn vị tối thiểu của thang đo được sử dụng để xác
định tỷ lệ chênh lệch của hệ thống đo.

18
Measurement: Properties
• Xác định hoặc xác suất
• Hệ thống đo lường phải là xác định (nghĩa là, dẫn

10/01/2017
đến cùng một kết quả trong cùng điều kiện) hoặc xác
suất (ví dụ: năng suất mỗi giờ, độ tin cậy)

evaluation
Methods and Tools for software
• Định lượng hoặc định tính
• Kết quả đo là định lượng (được biểu thị bằng giá trị
số) hoặc định tính (được biểu thị bằng giá trị định
tính hoặc khoảng cách)

19
Measurement: Direct & Indirect
• Đo lường trực tiếp một thuộc tính của một thực
thể không liên quan đến thuộc tính hoặc thực thể

10/01/2017
nào khác. Ví dụ: độ dài phần mềm về các dòng mã.
• Đo lường gián tiếp rất hữu ích trong việc hiển thị

evaluation
Methods and Tools for software
sự tương tác giữa các phép đo trực tiếp. Ví dụ:
năng suất, chất lượng phần mềm.
• Đo lường gián tiếp đặc biệt hữu ích khi quy mô của
các biện pháp thực nghiệm khá lớn (nghĩa là, nhiều
quan hệ và nhiều thực thể) hoặc chi phí đo lường
trực tiếp cao. 20
Measurement: Size of Empirical Set
• Ví dụ: đo lường mức độ phổ biến của 4 sản phẩm phần
mềm

10/01/2017
• E = {A, R, O}
• |A|=4

evaluation
Methods and Tools for software
• |R|=3
• r1: x phổ biến hơn y
• r2: x ít phổ biến hơn y
• r3: thờ ơ
• Tổng số phép đo có thể là:
• 4 × (4 - 1) × 3 = 36
• Kích thước sẽ tăng lên khi số lượng các yếu tố và quan 21
hệ tăng lên.
THANG ĐO

Methods and Tools for software


10/01/2017
22

evaluation
Scale: Định nghĩa phi hình thức
• Measurement scale: là một
tập hợp các ký hiệu hoặc giá

10/01/2017
trị được xác định trước để
thể hiện các phép đo phổ
biến nhất định.

evaluation
Methods and Tools for software
• Scale: Thang đo là một công
cụ đo lường trừu tượng để
đo các thuộc tính chung
được xác định của các thực
thể.

23
Scale: Định nghĩa hình thức
• Giả sử đã cho các phát biểu như sau:
• A = {a, b, c, …, z} tập hợp các thực thể trong thế giới thực

10/01/2017
• k: thuộc tính cho mỗi phần tử của A
• A = {a, b, c, ..., z} là mô hình của A trong đó mô tả mỗi phần tử
của A theo thuộc tính k

evaluation
Methods and Tools for software
• Các hệ thống quan hệ thực nghiệm và hình thức E và F
• m, là một ánh xạ A → A’
• Khi đó S = (E, F, m) được gọi là thang đo cho thuộc
tính k của tập đích A
• Nếu F được xác định trên một tập hợp con các giá trị
số thực, trong phạm vi tỷ lệ, phép đo ánh xạ thuộc tính
24
khóa của từng đối tượng của tập mục tiêu thành một
số.
Scale: Lịch sử
• Vào đầu năm 1940, nhà tâm lý học Harvard Stanley
Smith Stevens đã đưa ra các thuật ngữ: danh nghĩa,

10/01/2017
thứ tự, khoảng cách và tỷ lệ để mô tả một hệ thống
phân cấp các thang đo và phân loại các quy trình
thống kê theo thang đo mà chúng được áp dụng.

evaluation
Methods and Tools for software
• Thang đo Stevens, được trình bày lần đầu tiên vào
năm 1946
• Chúng đã được lựa chọn bởi hầu hết các sách giáo
khoa thống kê và do đó đã ảnh hưởng đến các thí
nghiệm thống kê cho đến nay.
25
Scale: Các câu hỏi
• Làm thế nào để chúng ta biết nếu một thang đo đại
diện thích hợp cho các mối quan hệ giữa các thuộc

10/01/2017
tính được đo của các thực thể? (vấn đề biểu diễn hay
đại diện)

evaluation
Methods and Tools for software
• → Có liên quan đến tính hợp lệ của phép đo
• Chúng ta phải làm gì khi có nhiều thang đo khác nhau
cho cùng một thước đo? (vấn đề duy nhất)
• Có liên quan đến chuyển đổi giữa các thang đo (đơn vị)
• Đối với thang đo xác định, phép toán số học nào có ý
nghĩa đối với các giá trị đo lường?
• Có liên quan đến ý nghĩa của các phát biểu dựa trên đo 26
lường
Các loại thang đo
• Thang đo khách quan (regular)
• Danh nghĩa, thứ tự, khoảng cách, tỷ lệ, tuyệt đối

10/01/2017
• Thang đo chủ quan
• Thang đo loại Likert (Loại đánh giá, Loại tần suất,

evaluation
Methods and Tools for software
Loại thỏa thuận)
• Thang đo chênh lệch ngữ nghĩa
• Thang đo tổng hợp

27
Nominal Scales
• Xác định các lớp hoặc danh mục, sau đó đặt từng thực thể
vào một lớp hoặc danh mục cụ thể, dựa trên giá trị của

10/01/2017
thuộc tính.
• Thuộc tính:

evaluation
Methods and Tools for software
• Hệ thống quan hệ thực nghiệm chỉ bao gồm các lớp khác
nhau; không có khái niệm về thứ tự giữa các lớp
• Bất kỳ cách đánh số hoặc biểu tượng riêng biệt nào của các
lớp là một thước đo có thể chấp nhận được, nhưng không có
khái niệm về độ lớn liên quan đến các con số hoặc ký hiệu.
• Thang đo danh nghĩa đặt các yếu tố trong sơ đồ phân loại.
• Các lớp học không có thứ tự; ngay cả khi các lớp được đánh
28
số từ 1 đến n để nhận dạng.
Nominal Scales: Ví dụ
• Phân loại xe ô tô dựa trên màu sắc của chúng

10/01/2017
• Phân loại lỗi trong phần mềm:
• Lỗi đặc tả

evaluation
Methods and Tools for software
• Lỗi thiết kế
• Lỗi mã hóa

29
Ordinal Scales
• Thang đo thứ tự rất hữu ích để tăng thêm thang

10/01/2017
đo danh nghĩa với thông tin về thứ tự của các lớp
hoặc danh mục.

evaluation
Methods and Tools for software
• Thuộc tính:
• Hệ thống quan hệ thực nghiệm bao gồm các lớp
được sắp xếp theo thuộc tính.
• Mọi ánh xạ bảo toàn thứ tự (nghĩa là bất kỳ hàm
đơn điệu nào) đều được chấp nhận.
• Các số chỉ biểu thị thứ hạng, do đó phép cộng, phép 30

trừ và các phép toán số học khác không có ý nghĩa.


Ordinal Scales
• M(x) > M(y) thì M’(x) > M’(y)

10/01/2017
• Đo độ phức tạp của nhiều mô-đun phần mềm bằng
cách xác định 5 lớp phức tạp

evaluation
Methods and Tools for software
• Tầm thường (Trivial)
• Đơn giản (Simple)
• Trung bình (Moderate)
• Phức tạp (Complex)
• Không thể hiểu được
(Incomprehensible) 31
Interval Scales
• Thang đo khoảng mang nhiều thông tin hơn thang đo thứ
tự và danh nghĩa. Nó nắm bắt thông tin về kích thước của

10/01/2017
các khoảng cách giữa các lớp, do đó chúng ta có thể hiểu
được kích thước của bước nhảy từ lớp này sang lớp khác.

evaluation
Methods and Tools for software
• Thuộc tính:
• Một thang đo khoảng bảo tồn trật tự, như với một thang đo thứ
tự.
• Một thang đo khoảng bảo tồn sự khác biệt nhưng không phải
là tỷ lệ. Đó là, chúng ta biết sự khác biệt giữa bất kỳ hai trong
số các lớp được sắp xếp trong phạm vi ánh xạ, nhưng tính
toán tỷ lệ của hai lớp trong phạm vi không có ý nghĩa.
32
• Phép cộng và phép trừ được chấp nhận trên thang đo khoảng,
nhưng không nhân và chia.
Interval Scales: Ví dụ
• M’ = aM + b

10/01/2017
• Đo nhiệt độ tính bằng độ C và độ F

evaluation
Methods and Tools for software
• Lập kế hoạch dự án
• Phân tích yêu cầu 3 tuần
• Thiết kế 4 tuần
• Mã hóa 4 tuần
• Kiểm thử bắt đầu sau khi mã hóa xong
33
• → Khi nào kiểm thử bắt đầu? Sau 11 tuần
Ratio Scales
• Đôi khi chúng ta muốn nói rằng một chất lỏng nóng
gấp đôi so với chất lỏng khác, hoặc một dự án mất

10/01/2017
gấp đôi thời gian so với dự án khác.
• Điều này cần thang đo tỷ lệ, là thang đo hữu ích nhất và khá
phổ biến trong khoa học vật lý.

evaluation
Methods and Tools for software
• Thuộc tính:
• Đó là một ánh xạ đo lường duy trì trật tự, duy trì kích thước
các khoảng giữa các thực thể và bảo toàn tỷ lệ giữa các thực
thể.
• Có phần tử bằng 0, biểu thị sự thiếu hoàn toàn thuộc tính.
• Ánh xạ đo phải bắt đầu từ 0 và tăng theo các khoảng bằng
nhau, được gọi là đơn vị.
• Tất cả phép toán số học có thể được áp dụng một cách có ý
34
nghĩa cho các lớp trong phạm vi ánh xạ.
Ratio Scales: Ví dụ
• Đo chiều dài, khoảng cách,… bảo toàn
• M’ = aM

10/01/2017
• Đo thời gian thực hiện của chương trình

evaluation
Methods and Tools for software
35
Absolute Scales
• Thang đo tuyệt đối là hạn chế nhất trong tất cả. Đối
với bất kỳ hai phép đo, M và M ', chỉ có một biến đổi

10/01/2017
được chấp nhận: biến đổi định danh (identity
transformation)

evaluation
Methods and Tools for software
• Thuộc tính:
• Phép đo cho thang đo tuyệt đối được thực hiện đơn giản bằng
cách đếm số lượng phần tử trong tập thực thể.
• Thuộc tính luôn có dạng “số lần xuất hiện của x trong thực
thể”.
• Chỉ có một ánh xạ đo lường có thể.
• Tất cả các phân tích số học của số lượng kết quả là có ý 36
nghĩa.
Absolute Scales: Ví dụ
• M’ = M
• Số lượng lỗi được quan sát trong một mô-đun là tuyệt

10/01/2017
đối nhưng độ tin cậy thì không.
• Số người làm việc trong một dự án là tuyệt đối nhưng

evaluation
Methods and Tools for software
năng suất của họ thì không.

37
Tổng hợp
Loại Đặc trưng Ví dụ
thang đo
Nominal Chia tập hợp các đối Dán nhãn, phân loại Tên ngôn ngữ lập trình,
tượng thành các danh tên loại lỗi

10/01/2017
mục, không có thứ tự cụ
thể nào trong số chúng
Ordinal Chia tập hợp các thực thể Ưu tiên, xếp hạng, độ Xếp hạng các lỗi (như

evaluation
Methods and Tools for software
thành các danh mục được khó thước đo mức độ
sắp xếp nghiêm trọng của lỗi)
Interval So sánh sự khác biệt giữa Calendar time, Ngày bắt đầu và ngày
các giá trị là có ý nghĩa temperature kết thúc của hoạt động
(Fahrenheit, Celsius) (như thước đo khoảng
cách thời gian)
Ratio Có một giá trị 0 không có ý Length, weight, time Các dòng mã (như
nghĩa và tỷ lệ giữa các giá intervals, thước đo thuộc tính
trị có ý nghĩa absolute temperature Chiều dài / kích thước
(Kelvin) Chương trình) 38
Absolute Không có sự biến đổi có ý Số lượng đối tượng Đếm (như số đo của
nghĩa của các giá trị ngoài thuộc tính Số lượng
định danh dòng mã)
Một số thang đo chủ quan
thường dùng
• Thang đo Likert: nhà tâm lý học người Mỹ Likert phát

10/01/2017
minh
• Xác định ý kiến hay thái độ
• Bao gồm một số mệnh đề tuyên bố

evaluation
Methods and Tools for software
• Ví dụ: Thang đo Likert truyền thống: 1 mệnh đề: 5 lựa chọn
• Anh/Chị có hài lòng về thái độ của bác sĩ khi làm việc?
• Rất hài lòng. (5)
• Hài lòng. (4)
• Không ý kiến. (3)
• Không hài lòng. (2)
• Rất không hài lòng. (1)
• Thang đo đánh giá đau qua nét mặt 39
Một số thang đo chủ quan
thường dùng
• Thang đo Likert:
• Evaluation-type: ví dụ: sự quen thuộc và hiểu được môi trường phát

10/01/2017
triển phần mềm? (ví dụ: trình biên dịch, trình tạo mã, công cụ CASE):

evaluation
Methods and Tools for software
• Frequency-type: ví dụ: khách hàng đã cung cấp thông tin cho nhóm
dự án?

• Agreement-type: ví dụ: các nhiệm vụ được hỗ trợ bởi phần mềm tại
trang web của khách hàng đã thực hiện nhiều thay đổi trong dự án.
40
Ý nghĩa (meaningful) trong đo
lường
• Hiểu các loại thang đo cho phép người ta xác định khi
nào các tuyên bố về đo lường có ý nghĩa.

10/01/2017
• Các phép đo thường ánh xạ các thuộc tính thành giá
trị số thực và tính toán theo những cách quen thuộc:

evaluation
Methods and Tools for software
cộng thêm, lấy trung bình, tính logarit,… → Việc phân
tích này bị ràng buộc bởi loại thang đo
• Chỉ có thể thực hiện những tính toán được phép cho
thang đo nhất định, phản ánh loại thuộc tính và ánh xạ
đã tạo ra dữ liệu.
• Câu hỏi nên đặt ra sau khi thực hiện các phép đo: 41
chúng ta có thể rút ra các tuyên bố có ý nghĩa về các
thực thể được đo không? → Khó để trả lời!
Ý nghĩa (meaningful) trong đo
lường
• Ví dụ xét các phát biểu:
• 1. Số lỗi được phát hiện trong quá trình kiểm tra tích hợp

10/01/2017
của chương trình X ít nhất là 100.
• 2. Chi phí sửa từng lỗi trong chương trình X ít nhất là

evaluation
Methods and Tools for software
100.
• 3. Một lỗi ngữ nghĩa mất gấp đôi thời gian để sửa so với
lỗi cú pháp.
• 4. Một lỗi ngữ nghĩa phức tạp gấp đôi một lỗi cú pháp.

Chúng ta nói rằng một tuyên bố liên quan đến đo lường là


có ý nghĩa nếu giá trị thật của nó là bất biến với các phép 42
biến đổi của các thang đo cho phép.
ĐO LƯỜNG VÀ ĐÁNH GIÁ PHẦN MỀM

Methods and Tools for software


10/01/2017
43

evaluation
Đánh giá phần mềm
• Khi tìm hiểu về công nghệ phần mềm, chúng ta thường đặt
ra một số câu hỏi sau:

10/01/2017
• Phần mềm là gì?
• Công nghệ phần mềm là gì?
• Sự khác biệt giữa công nghệ phần mềm và khoa học máy tính?

evaluation
Methods and Tools for software
• Sự khác biệt giữa công nghệ phần mềm và công nghệ hệ thống?
• Quy trình phần mềm là gì?
• Mô hình quy trình phát triển phần mềm là gì?
• Chi phí của công nghệ phần mềm bao gồm những gì?
• Các phương pháp công nghệ phần mềm là gì?
• CASE (Computer-Aided Software Engineering) là gì?
• Thế nào là một phần mềm tốt?
• Những thách thức chính đối với công nghệ phần mềm? 44
Đánh giá phần mềm
• Quy trình phần mềm là gì?
• Quy trình phần mềm là một tập hợp các hành động mà mục đích của

10/01/2017
nó là xây dựng và phát triển phần mềm. Những hành động thường
được thực hiện trong các quy trình phần mềm bao gồm
• Đặc tả: đặc tả những gì hệ thống phải làm và các ràng buộc trong quá

evaluation
Methods and Tools for software
trình xây dựng hệ thống.
• Phát triển: xây dựng hệ thống phần mềm.
• Kiểm thử: kiểm tra xem liệu phần mềm đã thoả mãn yêu cầu của khách
hàng.
• Mở rộng: điều chỉnh và thay đổi phần mềm tương ứng với sự thay đổi
yêu cầu.
• Những loại hệ thống khác nhau sẽ cần những quy trình phát triển
khác nhau. Ví dụ, hệ thống thời gian thực yêu cầu phải hoàn thành
đặc tả hệ thống trước khi chuyển sang giai đoạn xây dựng nó. Nhưng
với hệ thống thương mại điện tử, chúng ta có thể vừa đặc tả vừa xây 45
dựng chương trình một cách đồng thời.
Phần mềm tốt?
• Phần mềm phải đáp ứng các chức năng theo yêu cầu, có hiệu
năng tốt, có khả năng bảo trì, đáng tin cậy, và được người sử

10/01/2017
dụng chấp nhận.
• Khả năng bảo trì:
• phần mềm phải được điều chỉnh và mở rộng để thoả mãn những yêu

evaluation
Methods and Tools for software
cầu thay đổi.
• Mức độ tin cậy:
• phần mềm phải được tin cậy, bảo mật và chính xác.
• Hiệu quả:
• phần mềm không nên sử dụng lãng phí tài nguyên của hệ thống.
• Khả năng được chấp nhận:
• người sử dụng phải chấp nhận phần mềm. Điều đó có nghĩa là nó phải
dễ hiểu, sử dụng được và tương thích với các hệ thống khác.
46
Phần mềm tốt?
• Thách thức đối với công nghệ phần mềm?
• Công nghệ phần mềm trong thế kỷ 21 phải đối mặt với rất nhiều

10/01/2017
thách thức to lớn. Với mỗi thách thức này, chúng ta phải có những
giải pháp cụ thể.
• Không đồng nhất:

evaluation
Methods and Tools for software
• phát triển các kỹ thuật xây dựng phần mềm để giải quyết sự không đồng nhất
về môi trường thực hiện và nền tảng hạ tầng.
• Chuyển giao:
• phát triển các kỹ thuật nhằm dẫn tới việc chuyển giao phần mềm tới người sử
dụng nhanh hơn.
• Độ tin cậy:
• phát triển các kỹ thuật để chứng minh rằng phần mềm được người sử dụng
nó tin tưởng.

47
Dự báo và kiểm soát số liệu

Methods and Tools for software


10/01/2017
50

evaluation
Số liệu giả định
• Một thuộc tính phần mềm có thể đo được.
Mối quan hệ tồn tại giữa những gì chúng ta có

10/01/2017
thể đo được và những gì chúng ta
muốn biết. Chúng ta chỉ có thể đo các thuộc

evaluation
Methods and Tools for software
tính nội bộ nhưng thường quan tâm nhiều
hơn trong các thuộc tính phần mềm bên
ngoài.
• Mối quan hệ này đã được chính thức
hóa và xác thực.
• Nó có thể khó liên quan gì có thể đo
được chất lượng mong muốn với các thuộc 51
tínhbên ngoài.
Quá trình đo lường
• Một quá trình đo lường phần mềm có thể là
một phần của một quá trình kiểm soát chất

10/01/2017
lượng.
• Số liệu thu thập trong quá trình này được duy

evaluation
Methods and Tools for software
trì như là một nguồn lực của tổ chức.
• Khi một cơ sở dữ liệu đo lường đã được thành
lập, so sánh giữa các dự án trở thành có thể.

52
Quá trình đo lường

Methods and Tools for software


10/01/2017
53

evaluation
Sản phẩm quá trình đo lường
• Một chương trình đo cần phải dựa trên một
tập hợp các dữ liệu sản phẩm và quy trình.

10/01/2017
• Dữ liệu nên được thu thập ngay lập
tức (không phải nhìn lại) và nếu có thể, tự

evaluation
Methods and Tools for software
động.
• Ba loại thu thập dữ liệu tự động
• Phân tích tĩnh sản phẩm.
• Phân tích động sản phẩm.
• Quy trình đối chiếu dữ liệu.
54
Dữ liệu chính xác
• Không thu thập dữ liệu không cần thiết.
• Các câu hỏi được trả lời nên được quyết

10/01/2017
định trước và những dữ liệu cần thiết được
xác định.

evaluation
Methods and Tools for software
• Việc thu thập không phải là một
phần của nhân viên thẩm định.
• Thu thập dữ liệu khi quá trình được tạo
ra không phải sau khi dự án đã hoàn thành.
55
Số liệu sản phẩm
• Một thước đo chất lượng, nên có một dự
đoán về chất lượng sản phẩm.

10/01/2017
• Các lớp của các sản phẩm số liệu năng
động, số liệu được thu thập bởi các phép

evaluation
Methods and Tools for software
đo thực hiện của một chương trình trong việc thi
hành;
• Số liệu tĩnh được thu thập bởi các phép đo thực
hiện của hệ thống đại diện.
• Số liệu năng động giúp đánh giá hiệu quả và độ
tin cậy, số liệu tĩnh giúp đánh giá phức tạp, dễ 56
hiểu và bảo trì.
Số liệu sản phẩm
• Số liệu động liên quan chặt chẽ đến thuộc tính
chất lượng phần mềm ,tương đối dễ

10/01/2017
dàng để đáp ứng đúng thời hạn của hệ
thống (hiệu suất thuộc tính) hoặc số thất

evaluation
Methods and Tools for software
bại (độ tin cậy thuộc tính).
• Số liệu tĩnh có mối quan hệ gián tiếp với thuộc
tính chất lượng .
• Ta cần phải thử và biết được mối quan
hệ giữa các số liệu và tài liệu như dễ
hiểu, phức tạp và bảo trì. 57
Số liệu sản phẩm

Methods and Tools for software


10/01/2017
58

evaluation
Phân tích độ đo
• Một trong những vấn đề trong việc thu thập dữ
liệu cho chất lượng phần mềm và dự án phần

10/01/2017
mềm là không đươc hiểu như ý nghĩa thực tế .
• Phân tích dữ liệu thu thập được là rất khó khăn.

evaluation
Methods and Tools for software
• Để minh họa cách thu thập cần có nhiều cách
giải thích
• Phân tích dữ liệu phải có tình huống liên quan

59
Một số vấn đề về đo phần mềm
• Phân biệt các đối tượng đo: sản phẩm, quá trình,
nguồn lực

10/01/2017
• Việc đầu tiên cần làm khi thực hiện một phép đo là
phải xác định thực thể và thuộc tính cần đo. Đối với

evaluation
Methods and Tools for software
phần mềm, có ba loại thực thể là đối tượng để đo:
• Quá trình bao gồm các hoạt động liên quan đến sản xuất phần
mềm: chúng thường kèm theo yếu tố thời gian.
• Sản phẩm là kết quả của quá trình, chẳng hạn như tài liệu hay
chương trình bàn giao cho khách hàng.
• Nguồn lực là đầu vào cho quá trình: nhân lực, tài nguyên
(phần cứng, phần mềm), kinh phí.
• Tất cả mọi đối tượng mà chúng ta muốn đo hay dự 60
đoán về phần mềm đều thuộc một trong ba loại trên.
Một số vấn đề về đo phần mềm
• Phép đo quá trình
• Quá trình bao gồm các hoạt động sản xuất phần mềm có gắn

10/01/2017
với yếu tố thời gian, phép đo quá trình là phép đo các thuộc
tính của các pha trong dự án phần mềm.
• Các phép đo quá trình thường có mục đích để kiểm soát, cải

evaluation
Methods and Tools for software
tiến quy trình phát triển phần mềm.
• Nhờ các kết quả đo có thể có những dự đoán và tiến hành
những sửa đổi trong quy trình phát triển phần mềm
• Ví dụ như phép đo khả năng đáp ứng yêu cầu của khách hàng
đúng thời hạn (timeliness).
• Giả sử phải bàn giao sản phẩm cho khách hàng ba lần, nếu giao
hàng chậm một lần thì khả khả năng đáp ứng đúng thời hạn đạt
66%.
• Ngoài ra còn có nhiều phép đo khác gắn liền với quá trình sản
xuất phần mềm như: công sức để tạo ra sản phẩm phần mềm 61
(effort), hiệu quả kiểm tra (test efficiency)= số lỗi loại bỏ được
qua quá trình kiểm tra / kích cỡ phần mềm.
Một số vấn đề về đo phần mềm
• Phép đo sản phẩm
• Đối tượng của phép đo sản phẩm phần mềm bao gồm các

10/01/2017
thực thể là kết quả của quá trình, đó là kết quả bàn giao cho
khách hàng như chương trình, tài liệu sử dụng, hoặc có thể là
tài liệu được sản sinh trong vòng đời phần mềm, hoặc có thể

evaluation
Methods and Tools for software
là mã nguồn.
• Một số thuộc tính có thể tiến hành đo với sản phẩm là:
• Độ tin cậy của chương trình. Thuộc tính này phụ thuộc vào môi
trường mà chương trình được thực thi (phần cứng, phần mềm).
• Tính dễ hiểu của tài liệu đặc tả phần mềm. Nó tùy thuộc vào
người đang tìm hiểu tài liệu đó.
• Khả năng bảo trì của mã nguồn. Thuộc tính này phụ thuộc vào
người trực tiếp tham gia bảo trì và các công cụ hỗ trợ cho công
việc bảo trì. 62
Một số vấn đề về đo phần mềm
• Phép đo nguồn lực
• Nguồn lực bao gồm các thực thể đầu vào cho quá trình sản

10/01/2017
xuất: nguồn nhân lực, công cụ (phần cứng, phần mềm),
phương pháp. Một số thuộc tính nguồn lực có thể đo là:
• Chi phí (cost) dành cho việc đầu tư phát triển các công cụ mới.

evaluation
Methods and Tools for software
• Năng suất (productivity) của nhân viên dự án. Năng suất có
thể được tính như sau:

amount of output
productivity =
effort input
• Năng suất (productivity) được tính từ các thuộc tính sản phẩm
(amount of output) và thuộc tính quá trình (effort input)
• Sản phẩm ra có thể được tính bằng số dòng mã lệnh (LOC – lines
of code),
63
• Chi phí nhân lực (effort) tính bằng số lượng người tham gia dự án
theo tháng (person-month).
Một số vấn đề về đo phần mềm
• Phân biệt thuộc tính trong và thuộc tính ngoài
• Thuộc tính trong của một sản phẩm, quá trình, nguồn lực là

10/01/2017
những thuộc tính có thể đo đạc một cách khách quan.
• Thuộc tính ngoài của một sản phẩm, quá trình, nguồn lực là
những thuộc tính chỉ có thể đo đạc trong mối quan hệ với môi

evaluation
Methods and Tools for software
trường của sản phẩm, quá trình nguồn lực đó.
• Chỉ có các thuộc tính ngoài mới cung cấp cho chúng ta những
thông tin có giá trị về hệ thống.
• Các thuộc tính ngoài khó có thể được định nghĩa một cách
chính xác và đo đạc khách quan, hơn nữa những khái niệm
như chất lượng phần mềm là một khái niệm rộng.
• Các thuộc tính trong có ảnh hưởng trực tiếp tới các thuộc tính
ngoài, đo đạc và kiểm soát các thuộc tính trong sẽ nâng cao 64
chất lượng của toàn hệ thống.
Một số vấn đề về đo phần mềm
• Phân biệt thuộc tính trong và thuộc tính ngoài
• Vì vậy chúng ta thường gián tiếp tính các thuộc tính ngoài qua

10/01/2017
các thuộc tính trong.
• Mô hình phân cấp chất lượng ISO 9126 hay là mô hình khác
được phát triển từ mô hình FCM được đề xuất theo hướng

evaluation
Methods and Tools for software
này, nhưng chưa được áp dụng rộng rãi.
• Nguyên nhân chủ yếu là cách đo các thuộc tính ngoài không
hoàn chỉnh, thậm chí không giống nhau.
• Về mặt lý thuyết, việc kiểm định mối liên hệ giữa các thuộc tính
trong và các thuộc tính ngoài là hết sức khó khăn

65
ngoài
Các thuộc tính bên trong và bên

Methods and Tools for software


10/01/2017
66

evaluation
Bài tập 1
• Lựa chọn loại thang đo phù hợp nhất cho các

10/01/2017
phát biểu về đo lường dưới đây:
• 1. Đo thời gian thực hiện của chương trình

evaluation
Methods and Tools for software
• 2. Phân loại đối tượng dựa trên màu sắc của chúng
• 3. Đo thời gian của các giai đoạn khác nhau của dự
án (Lập kế hoạch dự án)
• 4. Đo độ phức tạp của nhiều mô-đun phần mềm
bằng cách xác định 4 lớp phức tạp (Tầm thường,
Đơn giản, Trung bình, Phức tạp)
67
Bài tập 1
• Lựa chọn loại thang đo phù hợp nhất cho các

10/01/2017
phát biểu về đo lường dưới đây:
• 5. Các sản phẩm phần mềm được phân loại theo

evaluation
Methods and Tools for software
khả năng tương thích với hệ điều hành (ví dụ:
Windows, Linux, MacOS, DOS, v.v.).
• 6. Các dịch vụ Internet được phân loại theo các
công nghệ có liên quan (ví dụ: dial up, DSL, tốc độ
cao, không dây, v.v.)
• 7. Đo lường thái độ đối với một dịch vụ Internet (giả
68
sử, trên xếp hạng n điểm, n = 0 đến 10).
Bài tập 1
• Lựa chọn loại thang đo phù hợp nhất cho các

10/01/2017
phát biểu về đo lường dưới đây:
• 8. Đo lường thái độ đối với các dịch vụ Internet, nếu

evaluation
Methods and Tools for software
điểm đánh giá có ý nghĩa về mặt số lượng thì sự
khác biệt giữa giá trị 3 và 6 hoàn toàn giống với
chênh lệch giữa 7 và 10.
• 9. Đo lường thái độ đối với các dịch vụ Internet, nếu
sự khác biệt giữa các giá trị dữ liệu có ý nghĩa số
lượng và bằng nhau. Ngoài ra, điểm 0 có nghĩa là
69
sự vắng mặt hoàn toàn của dịch vụ được đánh giá
hay hoàn toàn không hài lòng.
Bài tập 2
• Giả sử bạn được yêu cầu nghiên cứu các công cụ phát triển
phần mềm khác nhau và giới thiệu ba công cụ tốt nhất cho công

10/01/2017
ty. Bạn đã khảo sát và liệt kê danh sách các công cụ trong bảng:

evaluation
Methods and Tools for software
70
Bài tập 2
• Dựa vào bảng trên xác định các thực thể, thuộc tính
và giá trị của chúng trong mô hình của bạn là gì?

10/01/2017
• Thang đo tốt nhất cho mỗi thuộc tính bạn đã xác định
là gì?

evaluation
Methods and Tools for software
71
Bài tập 3
• Những phát biểu sau có ý nghĩa không?
• 1. Phương cao gấp đôi Hùng

10/01/2017
• 2. Nhiệt độ của Phương cao hơn 10% so với nhiệt độ
của Hùng
• 3. Lỗi X nghiêm trọng hơn lỗi Y

evaluation
Methods and Tools for software
• 4. Lỗi X nghiêm trọng gấp đôi so với lỗi Y
• 5. Chi phí sửa chữa lỗi X cao gấp đôi chi phí sửa chữa
lỗi Y
• 6. Nhiệt độ trung bình của thành phố A (30ºC) cao gấp
đôi so với nhiệt độ trung bình của thành phố B (15 ºC)
• 7. Cột mốc dự án 3 (kết thúc mã hóa) lâu hơn mười lần
73
so với cột mốc dự án 0 (bắt đầu dự án)
• 8. Mã hóa mất nhiều thời gian như phân tích yêu cầu

You might also like