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

3 Một số vấn đề về đo phần mềm

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 )


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ể 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ì.

Các thuộc tính trên đây của sản phẩm phần mềm có liên quan đến môi trường

mà nó được phát triển hay tồn tại, các thuộc tính này được gọi là thuộc tính

ngoài, được trình bày ở phần 1.3.2.

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

 Năng suất (productivity) của nhân viên dự án. Năng suất có thể được tính như

sau:

productivity =



amount of output

effort input



Trong biểu thức trên, 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), trong đó sản

phẩm ra có thể được tính bằng số dòng mã lệnh (LOC – lines of code), chi phí

nhân lực (effort) tính bằng số lượng người tham gia dự án theo tháng (personmonth).



1.3.2 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à 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 trường của sản phẩm, quá trình

nguồn lực đó.

Người sử dụng phần mềm và giám đốc dự án chỉ quan tâm đến các thuộc tính

ngoài. Người giám đốc dự án có thể quan tâm đến các thuộc tính ngoài như năng

27



lực sản xuất của nhân viên, hiệu quả sử dụng nguồn lực; người sử dụng muốn

biết về tính tiện dụng, độ tin cậy, khả năng tương thích của sản phẩm mà họ sắp

mua. Thuộc tính trong thường dùng để mô tả độ phức tạp cấu trúc như: kích

thước phần mềm, độ phức tạp luồng điều khiển, độ kết dính giữa các thành phần.

Chúng được định nghĩa một cách rõ ràng và có thể được đo đạc khách quan. Các

thuộc tích ngoài thường có sự liên quan của con người và của môi trường như độ

phức tạp, khả năng bảo trì, tính đọc hiểu .... 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 chất lượng của toàn hệ thống. Vì vậy chúng ta thường gián

tiếp tớnh cỏc thuộc tính ngoài qua 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 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



Kết luận chương 1:

Trong chương này, chúng ta đã tìm hiểu những vấn đề cơ bản của lý thuyết đo

phần mềm, cách tiếp cận tới lý thuyết đo phần mềm dựa trên một cơ sở vững

chắc là lý thuyết đo nói chung. Chúng ta cũng đã tìm hiểu về một số mô hình đo

được sử dụng rộng rãi trong công nghệ phần mềm. Tuy nhiên, việc lựa chọn

phép đo phù hợp tùy vào môi trường phát triển phần mềm cụ thể cũng như mục

đích tiến hành phép đo phần mềm đó. 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. Chương tiếp theo sẽ tìm hiểu về các phép đo và mô hình đánh giá

phần mềm phát triển trong môi trường hướng đối tượng.



28



CHƯƠNG 2: PHÉP ĐO PHẦN MỀM HƯỚNG ĐỐI TƯỢNG



Ngày nay các hệ thống thông tin ngày càng có độ lớn, độ phức tạp, yêu cầu

phải được phát triển trong một thời gian ngắn. Yêu cầu hệ thống được phát triển

nhanh, có chất lượng đã thúc đẩy sự ra đời của các phương pháp phát triển phần

mềm mới hiệu quả hơn. Trong số đó cách tiếp cận hướng đối tượng đã trở nên

quen thuộc với giới công nghệ thông tin. Việc phát triển phần mềm hướng đối

tượng có nhiều ưu điểm: tăng cường khả năng sử dụng lại mã do có tính thừa kế,

rút ngắn thời gian phát triển và giảm lỗi do các lớp mới được thừa kế từ những

lớp trong thư viện. Ngoài ra một vấn đề rất quan trọng trong việc cải tiến quy

trình chính là khả năng đo các bước trong quy trình đú, chớnh vì thế đề tài

nghiên cứu tìm ra các phép đo hướng đối tượng để đo phần mềm phát triển

hướng đối tượng là một vấn đề đã được quan tâm nghiên cứu ngay từ năm 1988

khi phương pháp phát triển phần mềm hướng đối tượng ra đời. Từ đó đến nay đã

có rất nhiều kết quả nghiên cứu về đo phần mềm hướng đối tượng đã được công

bố trên thế giới.

Cách tiếp cận bài toán theo quan điểm hướng đối tượng đã trở nên quen thuộc

đối với chúng ta, các ngôn ngữ hướng đối tượng ngày càng được sử dụng rộng

rãi. Ngày càng có nhiều các phần mềm được xây dựng theo phương pháp hướng

đối tượng. Điểm nổi bật của quy trình phát triển phần mềm hướng đối tượng

chính là ở bước thiết kế hướng đối tượng, hệ thống được chia thành các khối

riêng gọi là đối tượng, gồm có dữ liệu và chức năng thực hiện trờn cỏc dữ liệu

đó. Mô hình hướng đối tượng có những đặc điểm khác với mô hình hướng chức

năng trước đây, nờn cỏch đánh giá và đo đối với phần mềm hướng đối tượng

cũng phải quan tâm đến những đặc trưng cơ bản như: đối tượng, lớp, thuộc tính,

phương thức, thừa kế, thông điệp ... Các thuộc tính của đối tượng có thể đo đạc

ví dụ như: số thuộc tính, số phương thức, số thông điệp gửi đến các đối tượng

khác, vị trí của đối tượng trong sơ đồ cấu trúc hệ thống, số đối tượng thừa kế ...

Phép đo cho phần mềm hướng đối tượng cả về mặt lý thuyết cũng như công

cụ đo vẫn đang được tiếp tục nghiên cứu. Một phép đo hướng đối tượng cần giải

đáp được các câu hỏi: Các bước tiến hành để đo sản phẩm phần mềm hướng đối

tượng? Cần thiết kế các công cụ gì để hỗ trợ cho quá trình đo. Làm thế nào để áp

dụng phép đo hướng đối tượng vào quy trình phát triển phần mềm.

Có nhiều kết quả nghiên cứu về đo phần mềm hướng đối tượng đã được công

bố trên thế giới. Về mặt lý thuyết, nhiều phép đo hướng đối tượng được đề xuất;

về mặt thực nghiệm, các công cụ trợ giúp đo hướng đối tượng được xây dựng và

29



có nhiều kết quả đo thực nghiệm đã được công bố. Các phép đo này tập trung

vào khía cạnh hướng đối tượng, thể hiện các tính chất thừa kế, đa hình, bao bọc

dữ liệu, trừu tượng hóa. Cỏc tác giả đều đưa ra được luận điểm khẳng định

phương pháp đánh giá của mình và chỉ ra lĩnh vực áp dụng của nó. Tuy nhiên

nhiều phép đo còn một số tồn tại như sau:

-



Một số phép đo không độc lập về mặt ngôn ngữ (C++, Ada . . .)



-



Việc đánh giá các kết quả đo được nói chung là nằm trong một khoảng nào

đó, dựa theo kinh nghiệm khẳng định nó là tốt hay xấu



-



Các phép đo để đánh giá là chính chưa điều khiển được giá trị độ đo.



Các phép đo hướng đối tượng đã được tổng kết trong các báo cáo [9], [11],

[12]. Báo cáo [11] phân loại các phép đo hướng đối tượng theo phép đo quy

trình, sản phẩm, tài nguyên (tính đến năm 1996). Báo cáo [9] tổng kết và so sánh

các phép đo sản phẩm phần mềm hướng đối tượng nổi bật đã được công bố trên

thế giới (tính đến năm 2000).

Trong đồ án này, chúng tôi tập trung vào các phép đo CK do Chidamber,

Kemerer đề xuất [3] và mô hình chất lượng đo phần mềm hướng đối tượng. Các

phép đo CK có ưu điểm là gọn nhẹ, dễ tiến hành, có thể thực hiện trong các pha

sớm của quá trình xây dựng phần mềm, độc lập với ngôn ngữ sử dụng.



2.1. Bộ các phép đo CK

Các phép đo này do Chidamber, Kemerer đề xuất nên gọi là các phép đo CK.

Các phép đo này nhấn mạnh vào pha thiết kế hướng đối tượng. Có 6 phép đo:

WMC, DIT, LCOM, CBO, RFC, NOC. Các phép đo này tập trung vào khía cạnh

hướng đối tượng của sản phẩm: về độ phức tạp, tính cố kết, tính kết dính và cây

thừa kế. Các phép đo dựa trên các thuộc tính quan trọng, ảnh hưởng trực tiếp đến

chất lượng sản phẩm, kết quả của phép đo cho phép ta dự đoán hoặc đánh giá sản

phẩm. Chúng được đề xuất dựa trên cơ sở lý thuyết: cách tiếp cận hướng đối

tượng của Booch và lý thuyết đo.



2.1.1 Cơ sở lý thuyết của các phép đo CK

a. Cơ sở lý thuyết phát triển phần mềm hướng đối tượng

Booch là một trong những người đầu tiên đề xuất phương pháp tiếp cận

hướng đối tượng [2]. Ông đề xuất bốn bước trong pha thiết kế hướng đối tượng:

1) Xác định các lớp (đối tượng): Trong bước này, xác định và định danh các lớp

và đối tượng dựa trên bài toán đã được trừu tượng hóa.

30



2) Xác định ý nghĩa của các lớp (đối tượng): Bước này xác định cụ thể ý nghĩa

các lớp và phương thức của các lớp và đối tượng, xác định vòng đời của đối

tượng từ lúc khởi tạo đến lúc hủy.

3) Xác định mối quan hệ giữa các lớp (đối tượng): Trong bước này, tương tác

giữa các lớp và đối tượng được xác định, ví dụ mối quan hệ thừa kế và mối

quan hệ nhìn thấy được một phần nội dung của nhau giữa các lớp.

4) Cụ thể hóa các lớp (đối tượng): Thiết kế chi tiết, định nghĩa các phương thức

và hành vi của chúng.

Dù đó là phương pháp thiết kế hướng đối tượng của Booch (gần đây là UML)

hay của nhóm nghiên cứu khỏc, thỡ thiết kế các lớp đóng một vai trò trung tâm

trong thiết kế hướng đối tượng. Thiết kế các lớp được dành cho mức ưu tiên cao

nhất trong thiết kế hướng đối tượng, bởi vì nó giải quyết vấn đề yêu cầu chức

năng của hệ thống nên thiết kế các lớp phải được thực hiện trước khi thiết kế hệ

thống và thiết kế chương trình. Các phép đo CK chủ yếu để đánh giá độ phức tạp

trong thiết kế lớp. Ưu điểm nổi bật của cỏc phộp do CK là có thể tiến hành chúng

trong những pha sớm (thiết kế) của quá trình phát triển phần mềm, qua đó có thể

có những thay đổi kịp thời để giảm tối thiểu những sai sót sau này. Ngoài ra các

phép đo CK độc lập với các công cụ và ngôn ngữ được sử dụng. Tuy nhiên các

phép đo CK không đánh giá được những chi tiết của việc triển khai các lớp.

b. Cơ sở lý thuyết đo

Một sơ đồ thiết kế hướng đối tượng có thể được đại diện bằng một hệ thống

quan hệ, gồm có tập các thực thể, tập các quan hệ và tập các phép toán nhị phân:

D ≡ (A, R1...Rn, O1...Om)

trong đó:

A: tập các thực thể (lớp, đối tượng)

R1...Rn : các quan hệ giữa các thực thể (ví dụ lớn hơn, nhỏ hơn).

O1...Om : các phép toán nhị phân trờn cỏc thực thể (tổ hợp, thừa kế ...)

Đánh giá độ phức tạp giúp chúng ta hiểu kỹ hơn về hệ thống quan hệ trờn cỏc

thực thể. Người thiết kế thường có những quan niệm trực giác về độ phức tạp

giữa các thực thể, chẳng hạn như quan niệm lớp nào có nhiều phương thức hơn

thỡ cú độ phức tạp lớn hơn. Những quan niệm trực giác như thế là phép toán nhị

phân θ trên tập ℘ (tập tất cả các thiết kế có thể có). Giả sử P, P’, P” ∈℘, các

tiên đề sau đây phải được thỏa mãn:

-



hoặc P θ P’, hoặc P’ θ P (đầy đủ: P phức tạp hơn P’ hoặc P’ phức tạp hơn P).

31



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

×