1. Trang chủ >
  2. Công nghệ thông tin >
  3. Lập trình >

Hình 1.1: Ví dụ về phép đo kích thước chương trình

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.1.2 Lý thuyết đo – cách tiếp cận

Phần này chúng ta trình bày 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ạ. Các thành phần

cơ bản của lý thuyết đo gồm có:

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 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ể. Ví dụ như thuộc

tính độ nóng của dung dịch có mối quan hệ “núng hơn” giữa các dung dịch và

quan hệ này thỏa mãn tính bắc cầu.

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ố. Tiếp tục ví dụ độ nóng ở trên,

dung dịch A ánh xạ vào số x, dung dịch B ánh xạ vào số y, khi đó quan hệ “núng

hơn” được chuyển thành quan hệ “>”, ta phải có x>y.

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 đó. Chẳng hạn tất cả những gì chúng ta

biết về độ nóng của dung dịch là dung dịch này thỡ núng hơn dung dịch kia và

mối quan hệ nóng hơn này có tính bắc cầu. Hai hàm bất kỳ thể hiện độ nóng

được liên hệ bởi một sự chuyển đổi.

Một điểm lưu ý là mặc dù mong muốn của chúng ta là phép đo được thực hiện

khách quan nhưng các quan hệ ban đầu được thiết lập một cách chủ quan. Chẳng

hạn đo độ dài khi chưa có đơn vị đo thì đó là cách đánh giá chủ quan cái này dài

hơn cái kia. Khi nào các quan hệ chưa được xác lập một cách rõ ràng thì chỉ có

cách đánh giá chủ quan, ví dụ như việc đánh giá chất lượng rượu hay đánh giá độ

phức tạp của một chương trình. Cách làm có thể là đưa cho một nhúm cỏc

chuyên gia phân nhóm chương trình theo tính phức tạp từ 1 đến 5. Mặc dù việc

đánh giá đó chưa phải là phép đo theo đúng nghĩa của nó nhưng việc đánh giá

như thế là cần thiết, dần dần khi đó cú sự nhất trí về phân loại các thực thể dựa

trên tính chất, có thể dẫn đến một phép đo khách quan.

Hệ thống quan hệ

Giả sử tính chất của thuộc tính được biểu diễn bởi tập các quan hệ R, gọi tập

các thực thể là C, ta gọi hệ thống quan hệ là ξ = (C,R).

Ví dụ : Xét thuộc tính độ nghiêm trọng của sai hỏng phần mềm. 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:



12



1) 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. Trong hệ thống quan hệ

này chúng ta chưa có đánh giá về trị số để so sánh tương đối về tính nghiêm

trọng giữa các sai hỏng, chúng ta chỉ biết rằng đó là các loại sai hỏng khác

nhau.

2) Chúng ta thêm vào quan hệ cũ một quan hệ mới R4 “nghiờm trọng hơn”.

Thông thường ta 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}.

3) Nhằm đạt mục tiêu biểu hiện các hiểu biết sâu hơn về tính nghiêm trọng của

các sai hỏng phần mềm, chúng ta 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 hỏng logic và

sai hỏng đổ vỡ hệ thống. Chúng ta có quan hệ R 5 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}.

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 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ố 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) .

Việc bảo toàn tất cả các quan hệ trong hệ thống số cho phép 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ệ thống quan hệ (C, R) sang hệ thống



13



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.

Ví dụ: Tiếp tục ví dụ về độ nghiêm trọng sai hỏng phần mềm ở trên. Chúng ta

tìm hệ thống quan hệ dựa trên trị số cho thuộc tính sai hỏng phần mềm.

1) Để tìm một biểu diễn thay thế cho R trong dạng số thực, ta lấy ba số phân biệt

bất kỳ, chẳng hạn 6, 2, 69. Chúng ta ánh xạ tất cả 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 R 2) vào số 2, các sai

hỏng đổ vỡ hệ thống (thuộc R 3) 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”.

2) Để tìm một biểu diễn thay thế cho R’ chúng ta cần xem xét cẩn thận hơn khi

gỏn cỏc trị số. Trước hết chúng ta cần tìm quan hệ P 4 tương ứng với R4. Quan

hệ P4 đương nhiên là >. Để hệ thống mới thỏa mãn quan hệ P 4 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.

3) Để tìm biểu diễn thay thế cho R’’, chúng ta cần bảo toàn cả quan hệ R 5, 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 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.



1.2 Cơ sở lý thuyết về phép đo 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 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 [7].



1.2.1. Vai trò của phép đo phần mềm.

“Chúng ta không thể kiểm soát cái mà chúng ta không thể đo được” [4]. Việc

phát triển phần mềm có chất lượng là rất cần thiết. Để đảm bảo chất lượng phần

mềm cần tiến hành các phép đo trong quá trình phát triển phần mềm. Chúng ta đã

biết rằng việc bảo dưỡng các hệ thống thông tin chiếm một tỷ lệ tài chính khá lớn

trong các dự án. Hệ thống có chất lượng kém cần phải bảo dưỡng nhiều hơn hệ

thống có chất lượng tốt. Một hệ thống được xây dựng mới mà không kèm theo sự

14



kiểm soát chất lượng chặt chẽ sẽ dẫn đến những yêu cầu bảo dưỡng tốn kém sau

này.

Mọi ngành công nghệ như điện, cơ khí, xây dựng không thể phát triển như

ngày nay nếu thiếu vai trò của đo đạc. Đối với ngành công nghệ phần mềm cũng

vậy, phép đo đóng một vai trò quan trọng. Những thiếu sót mà chúng ta thường

mắc phải khi phát triển phần mềm mà không sử dụng phép đo là:

1) Khi phát triển một sản phẩm phần mềm, chúng ta không đặt một mục tiêu rõ

ràng có thể đo được. Chúng ta nói rằng sản phẩm có tính “thõn thiện người sử

dụng”, “tin cậy cao”, “khả năng bảo trì tốt” nhưng không định nghĩa rõ những

thuộc tính này có ý nghĩa như thế nào xột trờn khía cạnh đo đạc. Như vậy

không thể khẳng định sự thành công của dự án nếu mục tiêu của nó là “mờ”.

2) Chúng ta không thể hiện chất lượng phần mềm dưới dạng lượng. Chúng ta

không thể nói với khách hàng rằng phần mềm mà chúng ta sản xuất sẽ chạy

trong bao lâu không bị sai hỏng với một độ tin cậy nào đó, hoặc là cần bao

nhiêu chi phí nhân lực để chuyển sản phẩm đó sang chạy ở một môi trường

khác.

3) Chúng ta hoàn toàn 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 mà chúng ta

sản suất.

Thiếu sót của ngành công nghệ phần mềm là 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. Phép đo phần mềm

phải được dựa trên những luận điểm cơ bản của lý thuyết đo. Chúng ta có thể

thấy những báo cáo khoa học công bố “80% chi phí sản xuất phần mềm là dành

cho pha bảo trỡ” hay “cứ 1000 dòng lệnh thỡ cú khoảng 55 lỗi”. Nhưng chúng ta

không biết những thí nghiệm đó được tiến hành như thế nào, vì thế ta không thể

lặp lại những nghiên cứu như thế trong môi trường của chúng ta để có kết quả so

sá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.

Thật không may là những nỗ lực nghiên cứu đánh giá về hiệu năng phần cứng,

đánh giá độ phức tạp tính toán cho ta những đánh giá rất tốt về những chương

trình nhỏ, những thuật toán nhưng không đánh giá được những hệ thống lớn

phức tạp là lĩnh vực của công nghệ phần mềm. Có thể nói nếu chúng ta không

xác định vai trò quan trọng của phép đo phần mềm thì cuộc khủng hoảng phần

mềm có thể ngày càng gay gắt hơn.



15



Xem Thêm
Tải bản đầy đủ (.doc) (91 trang)

×