Thứ Năm, 13 tháng 2, 2014

Đánh giá phần mềm hướng đối tượng

Đánh giá phần mềm hướng đối tượng

DANH MỤC CÁC BẢNG
Bảng 1.1: Phân công nhiệm vụ đo trong một tổ chức phần mềm 16
Bảng 1.2: Các hệ số trong mô hình COCOMO 20
Bảng 1.3: Các nhân tố chất lượng và tiêu chuẩn chất lượng trong ISO 9126 23
Bảng 2.1: Vai trò của các độ đo CK trong các giai đoạn thiết kế lớp 39
Bảng 2.2: Các dạng hàm chuẩn hóa độ đo 43
Bảng 2.3: Các tiêu chuẩn và độ đo trong mô hình QMOOD 44
Bảng 2.4: Mối liên hệ giữa các thuộc tính ngoài và thuộc tính trong 45
của mô hình QMOOD 45
Bảng 3.1: Một số công cụ đo phần mềm hướng đối tượng 48
Bảng 3.2: Công thức tính tham số cho các dạng hàm chuẩn hóa 57
Bảng 4.1: Danh sách các dự án được đo 68
Bảng 4.2: Tổng cộng số lớp các dự án được đo 68
Bảng 4.3: Kết quả độ đo CK của các phần mềm 77
Bảng 4.4: Hệ số tương quan giữa các độ đo CK và các chỉ số chất lượng 79
Bảng 4.5: Các hệ số của phương trình tuyến tính biểu diễn 80
phụ thuộc giữa thuộc tính chất lượng và độ đo 80
Bảng 4.6: Kết quả các độ đo của mô hình QMOOD 81
Bảng 4.7: Lựa chọn ngưỡng cho các hàm chuẩn hóa các độ đo 82
Bảng 4.8: Ngưỡng cho các hàm chuẩn hóa các độ đo QMOOD 82
Bảng 4.9: Kết quả đo một số thuộc tính của mô hình QMOOD 83
Bảng 4.10: Hệ số tương quan giữa các thuộc tính của mô hình QMOOD 83
với các thuộc tính chất lượng khác 83
Bảng 4.11: Hệ số tương quan giữa các độ đo và các chỉ số chất lượng 84
Bảng 4.12: Mối quan hệ ảnh hưởng giữa các độ đo và các chỉ số chất lượng 85
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 5
Đánh giá phần mềm hướng đối tượng

BẢNG GHI CHÚ CÁC THUẬT NGỮ
Viết tắt Viết đầy đủ Giải nghĩa
ADO Active Data Object Đối tượng để truy cập cơ sở dữ
liệu
ANA Average Number of Ancesters Trung bình số các lớp cha
API Application Programming
Interface
Giao diện lập trình ứng dụng
CAM Cohesion Among Methods in
Class
Tính cố kết giữa các phương
thức trong cùng một lớp
CBO Coupling Between Object class Độ kết dính giữa các lớp
CIS Class Interface Size Kích thước giao diện lớp (số
phương thức public)
CK Chidamber, Kemerer Bộ các phép đo hướng đối
tượng do Chidamber, Kemerer
đề xuất [6]
COCOMO Constructive Cost Model Mô hình ước tính chi phí cho
các dự án phần mềm
CSDL Cơ sở dữ liệu
DAM Data Access Metric Khả năng truy cập dữ liệu (tỷ lệ
số thuộc tính public)
DCC Direct Class Coupling Số lớp có tính kết dính với một
lớp
DIT Depth of Inheritance Tree Độ sâu cây thừa kế
DSC Design Size in Classes Số lớp của chương trình
FCM Factor-Criteria-Metrics Mô hình nhân tố-tiêu chuẩn-độ
đo để đánh giá chất lượng phần
mềm
GNU GNU Library General Public
License
Thư viện C++ của cộng đồng
mã nguồn mở
ISO 9126 International Standard
Organization
Mô hình đánh giá chất lượng
phần mềm của tổ chức tiêu
chuẩn quốc tế
JBOOMT Jade Bird Object Oriented Metric
Tool
Công cụ đo phần mềm hướng
đối tượng
JDK Java Developer Kit Thư viện lập trình Java của Sun
Microsystem
LCOM Lack of Cohesion among
Methods
Độ thiếu cố kết giữa các phương
thức (trong cùng 1 lớp)
LOC Lines of code Số dòng mã lệnh
MFA Measure of Functional Độ đo mức độ sử dụng thừa kế
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 6
Đánh giá phần mềm hướng đối tượng

Abstraction của một lớp
MFC Microsoft Foundation Class Thư viện lập trình C++ của
Microsoft
MFM Measure of Functional
Modularity
Độ đo về tính độc lập chức năng
MOA Measure of Aggregation Sự tổ hợp giữa các lớp
MTBF Mean Time Between Failure Thời gian giữa các sai hỏng
MTTF Mean Time To Failure Thời gian đến sai hỏng
MTTR Mean Time To Repair Thời gian để sửa chữa
NOC Number Of Children Số con trực tiếp của một lớp
NOH Number Of Hierarchies Số các mức phân cấp
NOM Number of Methods Số phương thức trong lớp (độ
phức tạp của lớp)
NOP Number of Polymorphic Methods Số phương thức đa hình
ODBC Open Database Connectivity Đối tượng để truy cập cơ sở dữ
liệu
OLEDB Object Linking Embedding –
Database
Đối tượng để truy cập cơ sở dữ
liệu
QMOOD Quality Model for Object
Oriented Design
Mô hình chất lượng cho phần
mềm hướng đối tượng
REBOOT ReusE Based on Object Oriented
Technology
Mô hình sử dụng lại cho phần
mềm hướng đối tượng
RFC Responce set For Class Tập trả lời của lớp (các phương
thức bị gọi bởi lớp đó)
STL Standard Template Library Thư viện lập trình C++ cung cấp
các tính năng mở rộng
WMC Weight Metric per Class Độ phức tạp của một lớp
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 7
Đánh giá phần mềm hướng đối tượng

MỞ ĐẦU
1. Đặt vấn đề
Đo phần mềm là một trong những nhiệm vụ đóng vai trò quan trọng trong các
hoạt động kỹ thuật phần mềm. Trong khi kỹ nghệ phần mềm đề cập đến các hoạt
động liên quan đến quá trình phát triển phần mềm, đo phần mềm liên quan đến các
đối tượng trong kỹ nghệ phần mềm mà có thể định lượng được. Một số ví dụ điển
hình là đo và dự đoán chi phí dự án, đo và dự đoán chất lượng của sản phẩm phần
mềm. Tất cả các ngành công nghệ đều xác định rõ vai trò quan trọng của phép đo
khi tiến hành bất kỳ một hoạt động sản xuất nào. Một dự án phần mềm được tiến
hành mà không gắn liền với quá trình đo có thể dẫn tới không thể kiểm soát được
thời gian hoàn thành sản phẩm, chất lượng sản phẩm bàn giao cho khách hàng
không được đảm bảo. Nếu không thể đánh giá một sản phẩm, chúng ta cũng không
thể đánh giá một phương pháp phát triển phần mềm mới là tốt hay không tốt. Như
vậy, có thể nói đo phần mềm đóng một vai trò quan trọng trong kỹ nghệ phần
mềm. Thực hiện đo phần mềm trong các dự án phần mềm nhằm các mục đích:
kiểm soát quá trình xây dựng phần mềm, đảm bảo hoàn thành sản phẩm đúng thời
hạn, kiểm soát chất lượng sản phẩm, dự đoán khắc phục các sự cố có thể xảy ra,
cải tiến quy trình sản xuất phần mềm.
Các hệ thống thông tin ngày nay ngày càng có độ lớn độ phức tạp, yêu cầu phải
được xây dựng trong một thời gian ngắn mà vẫn phải đảm bảo chất lượng. Trước
yêu cầu đó, kỹ nghệ phần mềm đã đưa ra những phương pháp phát triển mới nhằm
đáp ứng những đòi hỏi bức xúc đó. Phương pháp phát triển phần mềm hướng đối
tượng là một trong những cách tiếp cận cho phép rút ngắn thời gian phát triển
phần mềm qua việc sử dụng lại mã. Mỗi phương pháp phát triển mới đều đòi hỏi
có những phương tiện đánh giá phù hợp (đánh giá về quá trình, đánh giá sản
phẩm). Các phép đo phần mềm trước đây như đo số dòng mã lệnh không thể hiện
được tính chất hướng đối tượng của sản phẩm. Như vậy cần có những phương
pháp, công cụ phù hợp để đánh giá phần mềm hướng đối tượng.
Xuất phát từ các yêu cầu thực tiễn nêu trên, trong đồ án này, chúng tôi tập trung
nghiên cứu phép đo sản phẩm phần mềm được xây dựng trong môi trường hướng
đối tượng. Cơ sở lý thuyết của đề tài dựa trên lý thuyết đo phần mềm nói chung
và đo phần mềm hướng đối tượng nói riêng (các phép đo CK và mô hình chất
lượng ISO 9126). Phần phát triển của chúng tôi là đề xuất quy trình đo phần mềm
gồm 4 pha, xây dựng công cụ trợ giúp đo phần mềm hướng đối tượng, tiến hành
đo và phân tích kết quả đo một số phần mềm hướng đối tượng.
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 8
Đánh giá phần mềm hướng đối tượng

2. Nhiệm vụ và bố cục của đồ án
Đồ án này tập trung vào các vấn đề xoay quanh phép đo phần mềm hướng đối
tượng: lý thuyết đo phần mềm, tổng hợp các kết quả nghiên cứu về đo phần mềm
hướng đối tượng, đề xuất hướng nghiên cứu và phân tích các kết quả đo thực
nghiệm. Ba nhiệm vụ chính của đồ án như sau:
1. Tìm hiểu lý thuyết đo phần mềm, tổng hợp các kết quả nghiên cứu trên thế giới
về đo phần mềm. Chương 1 trình bày các vấn đề: cách tiếp cận lý thuyết đo
phần mềm dựa trên lý thuyết đo nói chung; các yêu cầu, vai trò, mục đích đối
với một phép đo phần mềm; một số kết quả nghiên cứu trên thế giới và các
phương pháp đo phần mềm được sử dụng rộng rãi trong công nghệ phần mềm.
Tìm hiểu lý thuyết đo phần mềm hướng đối tượng, các kết quả nghiên cứu
về đo phần mềm hướng đối tượng. Chương 2 trình bày về các phép đo hướng
đối tượng, các mô hình đánh giá phần mềm hướng đối tượng.
2. Đề xuất và xây dựng công cụ trợ giúp cho quá trình đo phần mềm hướng đối
tượng (chương 3). Nhiệm vụ đặt ra là đề xuất một khung cho quá trình đo phần
mềm và xây dựng công cụ trợ giúp quy trình đó. Quy trình đo phần mềm được
đề xuất gồm có 4 bước: chọn lựa mô hình, thu thập dữ liệu, tính toán trên mô
hình và phân tích kết quả. Công cụ trợ giúp đo phần mềm hướng đối tượng
được xây dựng nhằm mục đích hỗ trợ quy trình đo phần mềm đó. Các mô hình
và độ đo được lưu trữ trong cơ sở dữ liệu, người sử dụng có thể sửa đổi mô
hình hoặc xây dựng mô hình mới.
3. Tiến hành đo thực nghiệm và phân tích các kết quả đo được. Các kết quả đo
phần mềm được trình bày trong chương 4 là kết quả đo 8 dự án phần mềm ở
trung tâm xuất khẩu phần mềm Fsoft-fpt Hà Nội và 4 thư viện lập trình hướng
đối tượng gồm có MFC, JDK, GNU, STL. Công cụ xây dựng ở trên được sử
dụng để trợ giúp cho quá trình đo. Các kết quả đo được phân tích về các khía
cạnh: so sánh các giá trị đo giữa hai nhóm phần mềm, mối liên quan ảnh hưởng
giữa các độ đo và chất lượng phần mềm. Quá trình phân tích cho thấy các kết
quả đo phù hợp với lý thuyết về các phép đo hướng đối tượng của Chidamber
và Kemerer, rút ra những nhận xét về mối quan hệ ảnh hưởng giữa các độ đo
và chất lượng phần mềm. Các số liệu thống kê được chúng tôi trình bày trên
bảng và biểu đồ nhằm thể hiện tính trực quan tới người đọc.
Nội dung của đồ án được chia thành 4 chương như trên, phần cuối là kết luận,
đánh giá các kết quả đạt được và đề ra phương hướng phát triển tiếp theo của đề
tài trong tương lai.
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 9
Đánh giá phần mềm hướng đối tượng

CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT
ĐO PHẦN MỀM
1.1 Lý thuyết đo
Trong cuộc sống hàng ngày chúng ta luôn luôn gặp các tình huống phải sử dụng
các phép đo. Tuy nhiên có thể do quá quen với các phép đo, chúng ta ít chú ý đến
bản chất của phép đo :
Đ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 luật được định nghĩa rõ ràng [10].
Như vậy phép đo liên quan đến thuộc tính của thực thể. Thực thể có thể là một
sự vật, một con người hay là pha kiểm tra của một dự án phần mềm .v.v. Thuộc
tính của thực thể có thể là chiều cao, chỉ số thông minh hay là độ phức tạp, độ tin
cậy .v.v. Chúng ta cần lưu ý là thực tế chúng ta không đo thực thể mà đo các thuộc
tính của thực thể. Phép đo gán các ký hiệu cho các thuộc tính của thực thể để mô
tả chúng. Chẳng hạn khi đo chiều cao của người ta gán giá trị lớn hơn cho người
cao hơn, không phụ thuộc vào việc chúng ta sử dụng đơn vị đo là inches, metres
hay feet.
Trong vật lý, y học, kinh tế xã hội ngày nay chúng ta đã có thể đo được các
thuộc tính mà trước đây người ta chưa thể nghĩ là có thể đo được. Dựa trên kết quả
các phép đo về trí thông minh, chất lượng không khí, tỷ lệ lạm phát, . . . người ta
có thể đưa ra các quyết định quan trọng. Những phép đo như thế không phải là cố
định mà vẫn không ngừng được cải tiến.
Trong phần này chúng ta trình bày những vấn đề cơ bản của lý thuyết đo phần
mềm. Những vấn đề này sẽ là cơ sở cho các phần tiếp theo của đồ án.
1.1.1 Cơ bản về lý thuyết đo
Ở trên chúng ta đã nêu khái niệm về phép đo. Từ đó chúng ta đi đến khái niệm
sau: Đo là việc gán một giá trị số (hay ký hiệu) cho một thực thể để mô tả một
thuộc tính [10]. 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.
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 10
Đánh giá phần mềm hướng đối tượng

Ví dụ:
Hình 1.1: Ví dụ về phép đo kích thước chương trình
Giả sử chúng ta muốn đo thuộc tính độ lớn của chương trình X. Phép đo có thể
được thực hiện bằng việc ánh xạ từ mã nguồn vào số câu lệnh của chương trình.
Kết quả của phép ánh xạ đó (100 trong ví dụ ở hình 1.1) để biểu diễn độ lớn của
chương trình. Tuy nhiên ngoài ra còn có thể có các phép đo khác ví dụ như ánh xạ
từ mã nguồn vào số bytes của chương trình (3000 trong ví dụ ở hình 1.1).
Để 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. Khi đã xác định được thực thể và có phương tiện (độ đ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.
Phép đo trực tiếp và phép đo gián tiếp
Chúng ta có thể đo các thuộc tính như là khối lượng và độ dài mà không cần
thông qua một thuộc tính nào khác. Trong khi đó việc đo thuộc tính mật độ yêu
cầu phải thông qua các thuộc tính khác (khối lượng và độ dài). Để phân biệt hai
phép đo này chúng ta có khái niệm:
Phép đo trực tiếp một thuộc tính là phép đo không phụ thuộc 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 [10].
Một số thuộc tính, chẳng hạn nhiệt độ, chỉ có thể đo thông qua các thuộc tính
khác (trong trường hợp này là chiều cao của cột thủy ngân).
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. Lý thuyết quan hệ về phép đo được
trình bày sau đây ban đầu chỉ liên quan đến các phép đo trực tiếp. Khi chúng ta
cần nghiên cứu các thuôc tính của thực thể mà trước đây chưa có phép đo nào để
đo các thuộc tính đó, chẳng hạn 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
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 11
X
100
3000
Số câu lệnh
Số byte
Chương trình
Đánh giá phần mềm hướng đối tượ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à thích hợp.
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).
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 12
Đánh giá phần mềm hướng đối tượng

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:
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ệ R
1
“là cú pháp”, R
2
“là logic”, R
3
“là đổ vỡ hệ thống”.
Giả thiết rằng với mọi x∈C thì x là R
1
, R
2
, hoặc R
3
. 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 R
4
“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. R
4
gồm các cặp sai hỏng (x, y) trong đó hoặc: i)x∈R
3
và y∈R
2
hay R
1
, ii) x∈R
2

y∈R
1
. 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’ = {R
1
, R
2
, R
3
, R
4
}.
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’) ∈ R
5
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’’ = {R
1
, R
2
, R
3
, R
4
, R
5
}.
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) .
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 13
Đánh giá phần mềm hướng đối tượng

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
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 R
1
) 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ệ R
1
, R
2
, R
3
thành các quan hệ P
1
, P
2
, P
3
đối với các số trong đó P
1
là quan hệ “là 6”, P
2
là quan hệ “là 2” và P
3
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 R
4
. Quan
hệ P
4
đươ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 đã
Đặng Việt Dũng, Lớp KSTN CNTT K43 Trang 14

Không có nhận xét nào:

Đăng nhận xét