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 )
Hình 3.5: Chức năng nhập dữ liệu của chương trình
Hình 3.5 là giao diện chức năng nhập các kết quả đo. Sau khi tạo một ứng dụng
đo cho một phần mềm cụ thể, ta tiến hành nhập kết quả đo cho ứng dụng đú.
Hỡnh 3.5 là một ví dụ giao diện nhập các độ đo từ bàn phím. Ngoài ra, người sử
dụng có thể nhập trực tiếp trên mô hình bằng cách click chuột vào nút chứa độ
đo, hoặc có thể nhập kết quả đo từ file kết quả của công cụ đo (Understanding
C++, Java)
62
Tính toán và hiển thị mô hình: Tính toán các thuộc tính ngoài qua các thuộc
tính trong (độ đo) và hiển thị mô hình theo dạng cây.
Hình 3.6: Chức năng tính toán và hiển thị độ đo trên mô hình
Hình 3.6 thể hiện kết quả đo theo mô hình QMOOD. Phần mềm được đo ở đây là
Faid-xml (Fsoft-fpt).
Tạo mới và sửa chữa mô hình: cho phép tạo mới, thay đổi thểm bớt các độ đo
hay thuộc tính trong các mô hình đó cú.
63
Hình 3.7: Chức năng tạo mới và sửa đổi mô hình
Hình 3.7 minh họa chức năng tạo mới mô hình. Mô hình ‘new model’ đang được
tạo dựng; cửa sổ con cho phép chọn các độ đo để thêm vào mô hình.
Mở cơ sở dữ liệu: cho phép người sử dụng mở trực tiếp CSDL để xem và sửa
đổi thông tin về kết quả đo, về các kiểu độ đo.
64
Hình 3.8: Chức năng mở CSDL
65
Phân tích kết quả đo: Hiện tại chương trình có thể phân tích các số liệu đo được
về mặt thống kê, về hệ số tương quan. Hiện tại chương trình chưa phân tích kết
quả đo được theo một mô hình phân tích nào.
(a). Thống kê kết quả đo
(b). Hệ số tương quan
Hình 3.9: Chức năng phân tích kết quả đo.
Hình 3.9 minh họa việc phân tích số liệu thống kê các kết quả đo về giá trị lớn
nhất, bé nhất, trung bình, hệ số tương quan.
66
CHƯƠNG 4: MỘT SỐ KẾT QUẢ ĐO PHẦN MỀM
HƯỚNG ĐỐI TƯỢNG
Trong chương này chúng tôi trình bày những kết quả đo một số chương trình
phần mềm hướng đối tượng và các phân tích đánh giá của chúng tôi trờn cỏc kết
quả đó. Đối tượng đo là kết quả một số dự án đã hoàn thành ở trung tâm xuất
khẩu phần mềm Fsoft-fpt. Phương pháp thu thập dữ liệu của chúng tôi là xuất
phát từ mã nguồn của các chương trình (sau khi dự án kết thúc), sử dụng các
công cụ để phân tích mã nguồn và thu thập các độ đo. Các độ đo sau đó được
đưa vào cơ sở dữ liệu. Ngưỡng cho quá trình chuẩn hóa độ đo dựa trên các kết
quả đo các dự án đú. Cỏc độ đo được sử dụng là bộ các độ đo CK: WMC, DIT,
CBO, RFC, NOC, LCOM. Ngoài ra, chúng tôi cũng sử dụng mô hình QMOOD
để xác định các thuộc tính chất lượng qua các độ đo.
Kết quả đo sau đó được phân tích về mặt thống kê như giá trị lớn nhất, nhỏ
nhất, trung bình, độ lệch. Chúng tôi cũng xem xét ma trận hệ số tương quan giữa
các độ đo và các thuộc tính của dự án như: tỷ lệ lỗi (defect rate), tỷ lệ hao phí
công sức sửa chữa (correction cost), tỷ lệ lỗi sau khi bàn giao sản phẩm
(leakage). Hệ số tương quan cho chúng ta biết về tầm ảnh hưởng hay mối liên hệ
biến thiên giữa hai biến ngẫu nhiên. Qua việc phân tích kết quả đo, chúng ta thấy
được sự ảnh hưởng của các độ đo hướng đối tượng lên chất lượng của hệ thống.
Chúng tôi lựa chọn 8 dự án tại trung tâm phần mềm Fsoft-fpt, các dự án này
đều đã hoàn thành, chúng đều được viết bằng C++ và Java. Để thu thập các độ
đo (metric), chúng tôi sử dụng công cụ Understanding C++ và Understanding
Java [21] tiến hành phân tích mã nguồn của chương trình. Như vậy quá trình
nghiên cứu là theo phương pháp phân tích ngược (reverse engineering).
Để có thể có những so sánh đánh giá kết quả thu được, chúng tôi tiến hành đo
thêm 4 thư viện phần mềm hướng đối tượng là: MFC3, JDK1.1.8, GNU, STL.
Các thư viện này cũng đều được đo ở dạng mã nguồn. Mã nguồn của các thư
viện MFC3, GNU, STL được download từ địa chỉ /ftp/pub/esw/mood/SPECS/C+
+, còn mã nguồn JDK1.1.8 được công bố rộng rãi bởi Sun Microsystem.
Dự án
Ngôn
ngữ
Số lớp
67
Kích thước
(LOC)
Ghi chú
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
Faid-xml
IntraFax
Css-m1
PG-Maintain-2002-1
CDS
CDS-MK
Aop
BDWizard3
MFC3
JDK1.1.8
C++
C++
Java
Java
C++
C++
C++
C++
C++
Java
78
4
37
201
207
249
9
89
154
533
31541
17113
36165
48011
155550
208099
4721
100478
74895
152231
GNU
C++
84
32122
STL
C++
43
Fsoft-fpt
Fsoft-fpt
Fsoft-fpt
Fsoft-fpt*
Fsoft-fpt
Fsoft-fpt*
Fsoft-fpt
Fsoft-fpt*
37318
Ghi chú : * các dự án bảo trì.
Bảng 4.1: Danh sách các dự án được đo
Trong số các dự án tại Fsoft-fpt có 3 dự án bảo trì là: PG-Maintain-2002-1,
CDS-MK và BDWizard3. Ngoài ra ta cũng chú ý thấy IntraFax và Aop là các dự
án nhỏ, sử dụng cả lập trình hướng đối tượng và lập trình cấu trúc nên có số lớp
ít. Ta tạm gọi nhóm 8 dự án tại Fsoft-fpt là “Fsoft”, nhúm cỏc thư viện hướng đối
tượng là “Library”.
Số lớp
Kích thước (LOC)
Fsoft
874
601678
Library
814
296566
Bảng 4.2: Tổng cộng số lớp các dự án được đo
Tổng số lớp đo được tại hai nhóm là gần bằng nhau. Trong khi đó kích thước
(LOC - lines of code) của nhúm cỏc dự án Fsoft cao hơn hẳn kích thước của
nhóm thư viện Library bởi vì các dự án là thực hiện mục tiêu cụ thể còn thư viện
để sử dụng lại nhiều nên chỉ cung cấp những tiện ích chung nhất.
4.1 Kết quả các phép đo CK
Phần này trình bày kết quả các phép đo CK trờn nhúm cỏc dự án ở Fsoft và
nhóm thư viện hướng đối tượng. Kết quả được thể hiện dưới dạng biểu đồ và
bảng thống kê giá trị lớn nhất, nhỏ nhất, giá trị trung bình. Trong mỗi biểu đồ cột
dưới đây, trục nằm ngang là giá trị độ đo, trục đứng là số lớp có giá trị độ đo
bằng giá trị trên trục nằm ngang.
68