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

IT4892 Phương pháp và công cụ đánh giá phần mềm

Bài tập 02
Câu 1. Lựa chọn loại thang đo phù hợp nhất cho các 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

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)

5. Các sản phẩm phần mềm được phân loại theo 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ả sử, trên xếp hạng n điểm, n =
0 đến 10)

8. Đo lường thái độ đối với các dịch vụ Internet, nếu đ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à 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.

Trả lời:

1.Tỷ lệ

2.Danh nghĩa

3.Khoảng cách

4.Thứ tự

5.Danh nghĩa

6.Danh nghĩa
7.Thứ tự

8.Khoảng cách

9.Tỷ lệ

Câu 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 ty. Bạn đã khảo sát và liệt kê danh
sách các công cụ trong bảng:

a) 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ì?
b) Thang đo tốt nhất cho mỗi thuộc tính bạn đã xác định là gì?

Trả lời:

a)Thực thể là tên các công cụ/gian hàng ,thuộc tính là các ngôn ngữ hỗ trợ(Languages
Support), nền tảng tương thích(Platforms) và tính năng tương ứng (Features)

Languages supported gồm các giá trị: Java,C/C++,Pascal

Platforms gồm các giá trị:Windows,Unix,Solaris,MAC,AS400,OS2

Feature gồm các giá trị: Best,Better,Good,Fair

b)Thang đo tốt nhất cho các thuộc tính

Languages Supported: Thang đo danh nghĩa


Platform: Thang đo danh nghĩa

Feature: Thang đo thứ tự

Câu 3. Những phát biểu đo lường sau có ý nghĩa không?

1. Phương cao gấp đôi Hùng

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

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 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

Trả lời:

Các phát biểu đo lường có ý nghĩa:1,2,3,5,6,7


BÀI TẬP 05
Bài 1. Giả sử rằng một công ty muốn kiểm tra tính hiệu quả của hai phương
pháp thiết kế, A và B, về chất lượng của kết quả thiết kế, với việc có và không
có hỗ trợ công cụ. Công ty xác định 12 dự án để tham gia thí nghiệm.
a) Hãy xác định các trường hợp kiểm tra với 2 cách tiếp cận thiết kế: Giao
nhau (Crossing) và Lồng nhau (Nesting)
b) Đưa ra nhận xét về các trường hợp kiểm tra được tạo ra từ hai cách thiết
kế trên.
Trả lời:
a) Giao nhau (Crossing) : Tất cả các dự án được thực hiện với cả hai
phương pháp thiết kế và cả hai phương pháp hỗ trợ công cụ, tổng cộng có
24 trường hợp kiểm tra.
Lồng nhau (Nesting) : Một nửa các dự án được thực hiện với phương
pháp thiết kế A và một nửa với phương pháp thiết kế B. Trong mỗi nhóm
này, một nửa được thực hiện với hỗ trợ công cụ và một nửa không có hỗ
trợ công cụ, tổng cộng có 4 trường hợp kiểm tra.
b) Với phương pháp Crossing, ta có thể so sánh hiệu quả của các phương
pháp thiết kế và hỗ trợ công cụ một cách rõ ràng, bằng cách so sánh các
kết quả trực tiếp với nhau. Tuy nhiên, số lượng trường hợp kiểm tra tăng
lên rất nhanh khi số lượng phương pháp thiết kế và hỗ trợ công cụ tăng
lên.
Với phương pháp Nesting, ta chỉ có thể so sánh giữa hai phương pháp
thiết kế và hỗ trợ công cụ trong cùng một nhóm dự án. Tuy nhiên, số
lượng trường hợp kiểm tra ít hơn, điều này có thể làm giảm chi phí và
thời gian thực hiện thí nghiệm.

Bài 2. Tại sao không phải lúc nào cũng có thể áp dụng nguyên tắc gán ngẫu
nhiên trong các thí nghiệm liên quan đến con người?
Nguyên tắc gán ngẫu nhiên là một cách phổ biến để xác định nhóm thí nghiệm
và nhóm kiểm soát trong các thí nghiệm liên quan đến con người. Tuy nhiên, có
những trường hợp không thể áp dụng nguyên tắc này, ví dụ như:
● Nếu đối tượng nghiên cứu là trẻ em hoặc người già, việc gán ngẫu nhiên
có thể gây hại cho sức khỏe hoặc sự thoải mái của họ.
● Nếu đối tượng nghiên cứu là các nhóm đặc biệt như người khuyết tật hay
người nghiện ma túy, việc gán ngẫu nhiên có thể làm giảm tính đại diện
của nhóm nghiên cứu.
● Nếu các yếu tố khác ngoài đối tượng nghiên cứu ảnh hưởng đến kết quả,
ví dụ như thời gian hoặc địa điểm, việc gán ngẫu nhiên không phù hợp.

Bài 3. Nguyên tắc chặn có thể được sử dụng như thế nào trong một thí
nghiệm nghiên cứu tính hiệu quả của một khóa học về năng suất của các lập
trình viên phần mềm?
● Nguyên tắc chặn (blocking) có thể được sử dụng để kiểm tra tính hiệu
quả của khóa học về năng suất của các lập trình viên phần mềm bằng
cách chia các lập trình viên thành các nhóm tương đồng và tiến hành thử
nghiệm trên từng nhóm. Việc chia nhóm có thể dựa trên các yếu tố như
kinh nghiệm làm việc, trình độ học vấn, hoặc kỹ năng lập trình.
● Sau đó, các nhóm sẽ được ngẫu nhiên gán vào các nhóm kiểm soát hoặc
nhóm thí nghiệm để thực hiện khóa học về năng suất. Việc này đảm bảo
rằng các nhóm thí nghiệm và kiểm soát đều có các yếu tố tương đồng, và
sự khác biệt giữa các nhóm thí nghiệm và kiểm soát chỉ đến từ việc tiến
hành khóa học về năng suất.
● Sau đó, ta sẽ so sánh kết quả của các nhóm thí nghiệm và kiểm soát để
xác định tính hiệu quả của khóa học về năng suất đối với từng nhóm lập
trình viên. Kết quả này sẽ cho phép ta đưa ra những cải tiến cụ thể để
tăng tính hiệu quả của khóa học đối với từng nhóm lập trình viên.
Bài tập 08

Lời giải: (đề sửa thành các nhân tố TF)


UAW = Tổng các TN đơn giản *1 +tổng các TN trung bình *2 + tổng các TN
phức tạp * 3= 0*1 + 0*2 + 2*3 =6
UUCW = tổng các TH đơn giản *5 + tổng các TH trung bình *10 +tổng các tác
nhân phức tạp *15 = 3*10+2*5=40
TCF= 0.6 + (TF/100)
mà đối chiếu với bảng dưới đây
Ở đây các assigned value nhận giá trị bằng 1 theo giả thiết
=> TF = 14 *1 =14
=> TCF = 0.6 + 14/100 = 0.74
Tương tự ta có với ECF:

Các assigned value nhận giá trị là 3 theo đề bài cho, vậy => EF= 4.5 *3 =13.5
và ECF = 1.4 + (-0.03*EF) = 0.995
=> UCP = (UAW +UUCW) * TCF *ECF = (6+40)*0.74*0.995=33.8698
Lời giải:
Đếm số thành phần liên thông (d - có out degree khác 1) : cụ thể là lệnh for
(while/if/…) => d=2
=> v(G) = 1+d=1+2=3
Lời giải:

Hình minh hoạ


Câu 4. Giả sử rằng bạn sẽ thiết kế một bảng câu hỏi để gửi cho khách hàng đã
mua sản phẩm phần mềm của bạn. Quy mô dân số là 10.000 khách hàng và tỷ lệ
sai sót được cho là 5%. a) Tính cỡ mẫu cho sự hài lòng của khách hàng dự kiến
là 90% và hệ số tin cậy là 80%. b) Giả sử rằng bạn thay đổi kích thước mẫu
thành n = 136 và các tham số khác ngoại trừ mức độ tin cậy không thay đổi.
Tính mức độ tin cậy mới.
Lời giải:
Bài tập 9

Hệ thống sẽ được triển khai dưới dạng một ứng dụng Web sử dụng công nghệ
EJB. Trong giai đoạn thiết kế, các lớp ranh giới được mở rộng theo tỷ lệ 1 đến
2; các lớp điều khiển được mở rộng theo tỷ lệ 2 đến 3 và mỗi lớp thực thể được
mở rộng thành một hệ thống con có từ 4 đến 8 lớp thiết kế. Trung bình một lớp
thiết kế trong Java có 20 phương thức, mỗi phương thức có từ 10 đến 20 dòng
mã và năng suất của một lập trình viên Java trung bình là 200 LOC mỗi tuần
với mức lương 5.000 đô la mỗi tháng (4 tuần). Ước tính tối thiểu và tối đa cho
a) Số lớp thiết kế; số phương thức; tổng kích thước phần mềm theo LOC (giả sử
tổng kích thước là 1,5 lần LOC phương thức)
b) Tổng chi phí phát triển.

You might also like