Results (
Vietnamese) 2:
[Copy]Copied!
Một loạt các số liệu có thể được sử dụng để mô tả các khía cạnh của thiết kế. Ví dụ, số lượng các phương pháp và các lớp học là một biện pháp thô của các kích thước của sản phẩm mục tiêu. Sự gắn kết và khớp nối là các biện pháp về chất lượng của thiết kế, cũng như các số liệu thống kê lỗi. Như với tất cả các loại kiểm tra, nó là quan trọng để giữ một kỷ lục về số lượng và loại lỗi thiết kế phát hiện khi kiểm tra thiết kế. Thông tin này được sử dụng trong quá trình mã kiểm tra của các sản phẩm và kiểm tra thiết kế các sản phẩm tiếp theo.
Sự phức tạp M cyclomatic của một thiết kế chi tiết là số quyết định nhị phân (vị từ) cộng với 1 [McCabe, 1976] hoặc tương đương, số lượng chi nhánh trong các artifact mã. Nó đã được gợi ý rằng sự phức tạp cyclomatic là một thước đo của chất lượng thiết kế; thấp hơn giá trị của M, thì tốt hơn. Một thế mạnh về số liệu này là nó rất dễ dàng để tính toán. Tuy nhiên, nó có một vấn đề cố hữu. Phức tạp Cyclomatic là một biện pháp hoàn toàn của sự phức tạp kiểm soát; sự phức tạp dữ liệu được bỏ qua. Đó là, M không đo lường sự phức tạp của một tạo tác mã đó là hướng dữ liệu, chẳng hạn như bằng các giá trị trong một bảng. Ví dụ, giả sử một nhà thiết kế là không biết gì về C ++ thư viện chức năng toascii và thiết kế một mã tạo tác từ đầu mà đọc một ký tự đầu vào bởi người sử dụng và trả về mã ASCII tương ứng (một số nguyên giữa 0 và 127). Một cách của thiết kế này là bằng phương tiện của một chi nhánh 128-cách thực hiện bằng phương tiện của một câu lệnh switch. Cách thứ hai là phải có một mảng chứa 128 ký tự ASCII để mã và sử dụng một vòng lặp để so sánh các ký tự đầu vào bởi người sử dụng với mỗi phần tử của mảng các ký tự; các vòng lặp là đã thoát khi một trận đấu thu được. Giá trị hiện tại của biến vòng lặp sau đó là mã ASCII tương ứng. Hai mẫu thiết kế là tương đương về tính năng nhưng có tính phức tạp cyclomatic 128 và 1,
tương ứng.
Một biến chứng nữa là sự phức tạp cyclomatic của một lớp học thường là thấp, vì nhiều lớp thường bao gồm một số lượng lớn các phương pháp nhỏ, đơn giản. Hơn nữa, như trước đây đã chỉ ra, phức tạp cyclomatic bỏ qua sự phức tạp dữ liệu. Bởi vì dữ liệu và các hoạt động là đối tác bình đẳng trong các mô hình hướng đối tượng, phức tạp cyclomatic nhìn ra một thành phần chính có thể đóng góp vào sự phức tạp của một đối tượng. Do đó, số liệu cho các lớp học kết hợp phức tạp cyclomatic thường ít được sử dụng.
Một lớp học có liên quan của các số liệu cho công việc thiết kế được dựa trên đại diện cho các thiết kế như là một biểu đồ chỉ với các lớp đại diện bởi các nút và OWS fl giữa các lớp (tin nhắn gửi đến phương pháp) được đại diện bởi vòng cung. Các fan hâm mộ trong một lớp có thể là Defi ned như số lượng của OWS fl vào lớp cộng với số lượng các cấu trúc dữ liệu toàn cầu truy cập bởi lớp. Các fan hâm mộ hiện tương tự như là số của OWS fl ra khỏi lớp cộng với số lượng các cấu trúc dữ liệu toàn cầu cập nhật bởi lớp. Một thước đo về sự phức tạp của các lớp sau đó được đưa ra theo chiều dài (fan-in fan-out) 2 [Henry và Kafura, 1981], trong đó chiều dài là một thước đo kích thước của lớp (mục 9.2.1). Bởi vì các định nghĩa của các fan hâm mộ trong và fanout kết hợp dữ liệu toàn cầu, số liệu này có một thành phần dữ liệu phụ thuộc. Tuy nhiên, các thí nghiệm đã chỉ ra rằng số liệu này là không tốt một biện pháp phức tạp hơn so với số liệu đơn giản, chẳng hạn như cyclomatic phức tạp [Kitchenham, Pickard, và Linkman, 1990; Shepperd, 1990].
Một số số liệu thiết kế hướng đối tượng đã được đưa ra, ví dụ, trong [Chidamber và Kemerer, 1994]. Những điều này và số liệu khác đã được đặt câu hỏi về cả lý thuyết và thực nghiệm căn cứ [Binkley và Schach, 1996; 1997; 1998].
Being translated, please wait..
